2016-11-13 24 views
1

私はAPIからデータをダウンロードしていますが、エラー401が発生しています: エラー401を理解していますが、私のコードで何が間違っているのか分かりません。Pythonリクエストレスポンス401

import json 
import requests 
path='C:/Users/sharm_000/Desktop/Price Comparison/' 

cat=str('https://affiliate-api.flipkart.net/affiliate/api/swapnilsh5.json') 
r = requests.get(cat, auth=('swapnilsh5', '7018e1141bcd4ace9c3fe12277924035')) 
print (r) 

上記のコードは素晴らしいです201応答を返しますが、課題は、私は、データの次のレベルに行く際に、このリターン401エラー

link='https://affiliate-api.flipkart.net/affiliate/1.0/feeds/swapnilsh5/category/j9e-abm-c54.json?expiresAt=1479062969473&sig=1ef27c056140e0ff7cac143670584e9d&inStock=1' 

r = requests.get(str(link), auth=('swapnilsh5', '7018e1141bcd4ace9c3fe12277924035')) 

print(r) 

をダウンロードし、これは私が把握することはできませんよ来ます、私はカールを使用して上記のリンクを実行するとき

curl -H "Fk-Affiliate-Id:swapnilsh5" -H "Fk-Affiliate-Token:7018e1141bcd4ace9c3fe12277924035" "https://affiliate-api.flipkart.net/affiliate/1.0/feeds/swapnilsh5/category/j9e-abm-c54.json?expiresAt=1479062969473&sig=1ef27c056140e0ff7cac143670584e9d&inStock=1" -o "C:\Users\sharm_000\Desktop\Price Comparison\a1c.json" 

カールコマンドはまったく問題なく動作します。

私はどこが間違っているのか、またPythonで同じタスクを実行する他の方法は何かをお勧めします。

ありがとうございました。

答えて

0

接続先のapiエンドポイントは、標準以外のヘッダーを使用します。だから、authはあなたのために働かないでしょう。カールを使用するときとまったく同じように、カスタムヘッダーとして渡す必要があります。

requests.get(str(link), 
    headers = { "Fk-Affiliate-Id" : 'swapnilsh5', 
       "Fk-Affiliate-Token": '7018e1141bcd4ace9c3fe12277924035'}) 
関連する問題