2

Python を使用して S3 リソースから HTTP HEAD 情報を取得しようとしています。残念ながら、応答は常に 403 エラーを返します。ここで提案されたコードを使用して いますが、残念ながらこれは S3 リクエストでは機能しません。コードは次のとおりです (ホストとキーの詳細は省略されています)。

>>> import httplib
>>> conn = httplib.HTTPConnection("www.mybucket.us")
>>> conn.request("HEAD", "/mykey?myparamterers")
>>> res = conn.getresponse()
>>> res.status
>>> 403

要求は、クエリ文字列の一部として署名された有効期限も送信します。

httplib2 も使用してみましたが、HEAD REQUEST が単にハングします。

4

3 に答える 3

2

署名付き URL を使用している場合、URL はメソッド (HEAD や GET など) によって署名されます。そのため、メソッドごとに異なる URL が必要になります。

于 2013-12-16T21:33:54.530 に答える
0

403 HTTP コードは禁止を意味します。おそらく、サイト管理者がこの方法を無効にしました。

telnetを試す

telnet www.mybucket.us 80
HEAD http://www.mybucket.us/mykey?myparamterers
Host: www.mybucket.us
<ENTER>
<ENTER>

サーバーの応答を監視します。

conn.set_debuglevel(1)または、 Python コードで使用することもできます。

于 2009-10-18T10:16:23.880 に答える