我送使用python
插座HTTP
POST
要求:HTTP請求的內容爲空
import socket
s = socket.socket(
socket.AF_INET, socket.SOCK_STREAM)
s.connect(("127.0.0.1", 4001))
s.send(b'POST /session HTTP/1.1\r\nContent-Type:application/json\r\nUser-Agent: test/1\r\n\r\n{"desiredCapabilities": {}, "capabilities":{}}')
response = s.recv(10000)
print(response)
輸出:
b'HTTP/1.1 200 OK\r\ncontent-length: 270\r\nContent-Type: application/json; charset=utf-8\r\nConnection: close\r\n\r\n{"sessionId":"72418bd14689c1cd9ee48706eada96a4","status":33,"value":{"message":"session not created exception: Missing or invalid capabilities\\n (Driver info: chromedriver=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Linux 4.4.0-91-generic x86_64)"}}'
輸出的摘要 - 返回錯誤消息說,json
對象我想發送丟失或不正確。
這就是爲什麼我決定用 mitmproxy
來捕獲請求。
它沒有內容,同時應具備以下json
內容:
{"desiredCapabilities": {}, "capabilities":{}}
我不明白是什麼問題。我遵循HTTP
規範 - 在我放入CRLF
(\r\n
)的每個標頭之後和最後一個標頭(User-Agent)之後,我增加了CRLF
,因爲在正文內容之前必須有一個空行。
請求/狀態行和首部都必須一端與
<CR><LF>
(即, 回車後跟一個換行)。空行必須包含 只有<CR><LF>
並且沒有其他空格。
'print(response)'輸出是什麼? –
Hi @Robᵩ我用回覆更新了問題。總之,響應是說'json'對象丟失了。 – CuriousGuy
如果你使用mitmproxy,你需要在這裏開始回答問題,而不只是問;) –