【问题标题】:Python Socket Connect poloniexPython Socket 连接
【发布时间】:2017-11-22 09:48:10
【问题描述】:

嗨,我想要Python Socket Connect Poloniex API。

我运行了代码。但我无法得到我想要的结果。

我编写了代码:

================================================ ======================

import requests
import socket

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect(("poloniex.com",443))

message="GET /public?command=returnTicker HTTP/1.1\r\nHost: poloniex.com\r\nConnection: keep-alive\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nUser-Agent: python-requests/2.18.1\r\n\r\n"

s.send(message)

print s.recv(5000)

================================================ ======================

响应文本:

HTTP/1.1 400 错误请求

服务器:cloudflare-nginx

日期:格林威治标准时间 2017 年 6 月 20 日星期二 02:52:22

内容类型:文本/html

内容长度:275

连接:关闭 CF-RAY:- 400 普通 HTTP 请求已发送到 HTTPS 端口

================================================ ======================

【问题讨论】:

    标签: python sockets poloniex


    【解决方案1】:

    错误消息是正确的 - 您正在向端口 443 发送 HTTP 请求,该端口是 HTTPS 端口。如果要发送 HTTP 请求,请使用端口 80。我刚刚尝试向端口 80 发送请求,响应说我应该从现在开始使用 HTTPS(参见Location: https:// 部分):

    HTTP/1.1 301 Moved Permanently
    Date: Tue, 20 Jun 2017 13:40:52 GMT
    Content-Type: text/html
    Transfer-Encoding: chunked
    Connection: keep-alive
    Set-Cookie: __cfduid=d28a8f446379618a093014a5f13bbcb141497966052; expires=Wed, 20-Jun-18 13:40:52 GMT; path=/; domain=.poloniex.com; HttpOnly
    Location: https://poloniex.com/public?command=returnTicker
    Server: cloudflare-nginx
    CF-RAY: 371f2473b09f5a7a-BOS
    

    在这种情况下,您应该使用 ssl 模块而不是 socket,或者只使用 requests,因为它是一个更简单的选项。

    【讨论】:

      猜你喜欢
      • 2014-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-15
      • 2020-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多