私は次の特性を持つAPIにアクセスしようとしています:Pythonのオープン、ログインに必要なAPIのhttpsプロトコル
プロトコル:HTTPS
方法:
URL「GET」:「https://api.wmcloud.com/data/v1//api/equity/getEqu.json?field=&listStatusCD=&secID=&ticker=&equTypeCD=A ヘッダー:「許可:ベアラー<トークン> "
URLを開いただけで、そこにあるすべてのデータを見ることができます。私のコードを他の手でそれにアクセスすることはできません。私のコードは:
import httplib
httpClient = httplib.HTTPSConnection('api.wmcloud.com', '443',timeout=60)
url = 'https://api.wmcloud.com/data/v1//api/equity/getEqu.json?field=&listStatusCD=&secID=&ticker=&equTypeCD=A'
token='ae8820c8eb8ccd418dd8141b4c685d2d208c58a564a9fd2c22f8c95ac6a2ef23'
alldata = httpClient.request('GET', url, headers={"Authorization": "Bearer " + token})
これは、print alldataのときはNoneを返します。
ありがとうございます。それは働いているようだ。 しかし、より多くのパラメータを渡そうとすると、何も影響しないようです。 パラメータを次のように変更しました。 params = urllib.urlencode({"フィールド": "&"、 "listStatusCD": "L"、 "secID": "000001.XSHE"、 "ticker": "000001" "equTypeCD": "A"}) 'と表示されますが、出力はまだ全人口です。 興味深いことに、このパラメータを印刷すると、「ティッカー」が「secID」の前に常に表示され、コード内ではそれが後になります。 出力: 'field =%26&listStatusCD = L&ticker = 000001&secID = 000001.XSHE&equTypeCD = A' – Liam
@Liamパラメータフィルタは' body'ではなくURLに含める必要があるため動作しません。私は私の答えを更新しました、確認してください。 – shaochuancs
パラメータの順序は関係ありません。また、 'field'パラメータ値がないので、' params'に含めてはいけません。 '&' URL内の複数のパラメータを区切る文字です。パラメータ値の一部ではありません。 – shaochuancs