簡體   English   中英

使用套接字發送獲取請求的問題 (PYTHON)

[英]Problem sending a get request using sockets (PYTHON)

我的代碼:

import socket
request = b"GET / HTTP/1.1\nHost: api16-normal-c-useast1a.tiktokv.com\n\n"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("api16-normal-c-useast1a.tiktokv.com/aweme/v1/aweme/favorite/?max_cursor=0&count=0&ac=wifi&aid=1180&user_id=6986127446509143000", 80))
s.send(request)
result = s.recv(10000)
while (len(result) > 0):
    print(result)
    result = s.recv(10000)

我的錯誤:

Traceback (most recent call last):
  File "test.py", line 4, in <module>
    s.connect(("api16-normal-c-useast1a.tiktokv.com/aweme/v1/aweme/favorite/?max_cursor=0&count=0&ac=wifi&aid=1180&user_id=6986127446509143000", 80))
socket.gaierror: [Errno 11001] getaddrinfo failed

任何幫助表示贊賞謝謝!。

connect的參數應該只包含一個域名,並在請求本身中提供請求路徑。 您應該將代碼更改為以下內容:

import socket
request = b"GET /aweme/v1/aweme/favorite/?max_cursor=0&count=0&ac=wifi&aid=1180&user_id=6986127446509143000 HTTP/1.1\nHost: api16-normal-c-useast1a.tiktokv.com\n\n"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("api16-normal-c-useast1a.tiktokv.com", 80))
s.send(request)
result = s.recv(10000)
while (len(result) > 0):
    print(result)
    result = s.recv(10000)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM