リクエストでは、特にデータの送信をシミュレートできることがわかっています。一部の Web サイトではファイルをアップロードする必要があり、これを達成するためにリクエストを使用することもできます。たとえば、今すぐファイルをアップロードしたい場合は、次のようにすることができます。
import requests f = {'f':open('a.text','rb')} r = requests.post('http://httpbin.org/post',files = f) print(r.text)
プログラムを実行して、その効果を見てみましょう。
応答にはファイル フィールドが含まれていますが、フォーム フィールドは空であることがわかります。これは、ファイル アップロード部分が別のファイル フィールドによって識別されることを証明しています。
ログイン ステータスを維持するために Cookie を使用できます。ブラウザと開発者ツールで Cookie フィールドを見つけて、それを直接コピーできます。
ヘッダーに Cookie を設定し、ログイン要求を送信します。サンプルコードは次のとおりです。
それでは、SSL 証明書とは何でしょうか。
#SSL 証明書はデジタル証明書であり、運転免許証、パスポート、営業許可証の電子コピーと同様の電子コピーです。これは信頼できるデジタル認証局 (CA) によって署名されており、クライアントとサーバーの両方が証明書の有効性を検証する必要があります。
SSL 証明書の主な機能は、サーバー認証とデータ送信の暗号化を提供することです。これにより、送信中にデータが盗まれたり改ざんされたりすることがなくなり、セキュリティが強化され、権限のない人によるサーバーへのアクセスが防止されます。
SSL 証明書の検証プロセス中に、クライアントとサーバーの両方が証明書の有効性を検証する必要があります。
さらに、リクエストには証明書検証の機能もあります。HTTP リクエストを送信すると、SSL 証明書がチェックされます。verify パラメータを使用して、証明書を検証するかどうかを制御できます。この証明書を確認してください。通常、デフォルトでオンになっています。
それでは、コードはどうやって書くのでしょうか?
response = requests.get('http://www.baidu.com',verify = False)
一部の Web サイトでは、テスト中にコンテンツを取得できますが、頻繁にクロールされると IP がブロックされ、一定期間アクセスできなくなる可能性があります。したがって、これを防ぐには、プロキシを設定して問題を解決する必要があり、ここでは proxies パラメータを使用します。
Proxy は、ネットワーク上でリクエストとレスポンスを転送するためのプロキシ オブジェクトを作成するために使用できる Python の組み込みモジュールです。 Python では、リクエスト ライブラリを使用して HTTP リクエストを送信し、proxies パラメータを使用してプロキシ オブジェクトを指定できます。
以下は、proxies パラメータを使用してプロキシ オブジェクトを設定する方法を示すサンプル コードです。
import requests # 创建一个 requests 对象 r = requests.get('http://example.com') # 设置代理对象 r.proxies = {'http': 'http://proxy.example.com:80'} # 发送请求并获取响应 response = r.send() # 打印响应状态码和头部信息 print(response.status_code) print(response.headers)
上記のコードでは、最初にリクエスト オブジェクトを作成し、 proxies パラメータ プロキシ オブジェクトが設定されます。この例では、http リクエストを proxy.example.com という名前のプロキシ サーバーに転送し、プロキシ サーバーのアドレスを 80 に設定します。
次に、send メソッドを使用して HTTP GET リクエストを送信し、プロキシ オブジェクトをパラメータとして渡しました。最後に、response.status_code プロパティと response.headers プロパティを使用して、応答ステータス コードとヘッダー情報を出力します。
ネットワークが良好でない場合、またはサーバーの応答が遅すぎる場合、またはサーバーがエラーを報告する場合もあります。時間内に応答できなかった場合は、タイムアウト設定を設定できます。ここではタイムアウト パラメーターが使用されます。
response = requests.get('http://www.baidu.com',timeout= 30)
リクエスト オブジェクトの timeout 属性は、リクエストのタイムアウトを設定するために使用されます。デフォルトでは、timeout 属性の値は 60 です。これは、リクエストのタイムアウトが 60 秒であることを意味します。タイムアウトを変更する必要がある場合は、リクエストのタイムアウトが 30 秒であることを意味する 30 など、より小さい値に設定できます。
リクエストの送信後すぐにレスポンスを返す必要がある場合は、タイムアウト属性を 0 に設定できます。これにより、タイムアウト属性の値が None になり、リクエストが永久にタイムアウトになることを示します。
以上がPythonのリクエストモジュールの使い方は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。