账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    学习时使用 http://shop.projectsedu.com/goods/1/ 无法返回数据
    39
    0
    import socket
    from urllib.parse import urlparse
    
    url = "http://www.baidu.com"
    url = urlparse(url)
    host = url.netloc
    path = url.path
    if path == "":
        path = "/"
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client.connect((host,80))
    sent_message = "GET %s HTTP/1.1\r\nHost: %s\r\nConnection: close" % (path, host)
    client.send(sent_message.encode("utf8"))
    data = client.recv(5)
    print(data.decode("utf8"))

    写百度的GET请求时,如果请求行与请求头之间只写一个回车换行(即上面样子)会卡在recv这一步;而写两个回车换行会正常返回数据

    《HTTP权威指南》里面讲的是一个回车换行,这样应该才是标准吧

    主要问题是在学习时看视频使用 http://shop.projectsedu.com/g... 作为例子,请求内容与视频内一样,但无法返回数据,卡在了recv这一步;如果改为两个回车换行符会返回400 bad request,视频地址为:
    https://www.bilibili.com/vide...

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部