ホームページ >バックエンド開発 >Python チュートリアル >Pythonのリクエストモジュールの使い方は?

Pythonのリクエストモジュールの使い方は?

王林
王林転載
2023-05-09 16:16:081569ブラウズ

    1. ファイルのアップロード

    リクエストでは、特にデータの送信をシミュレートできることがわかっています。一部の Web サイトではファイルをアップロードする必要があり、これを達成するためにリクエストを使用することもできます。たとえば、今すぐファイルをアップロードしたい場合は、次のようにすることができます。

    import requests
     
    f = {'f':open('a.text','rb')}
     
    r = requests.post('http://httpbin.org/post',files = f)
     
    print(r.text)

    プログラムを実行して、その効果を見てみましょう。

    応答にはファイル フィールドが含まれていますが、フォーム フィールドは空であることがわかります。これは、ファイル アップロード部分が別のファイル フィールドによって識別されることを証明しています。

    2.Cookies

    ログイン ステータスを維持するために Cookie を使用できます。ブラウザと開発者ツールで Cookie フィールドを見つけて、それを直接コピーできます。

    ヘッダーに Cookie を設定し、ログイン要求を送信します。サンプルコードは次のとおりです。

    3.SSL 証明書の検証

    それでは、SSL 証明書とは何でしょうか。

    • #SSL 証明書はデジタル証明書であり、運転免許証、パスポート、営業許可証の電子コピーと同様の電子コピーです。これは信頼できるデジタル認証局 (CA) によって署名されており、クライアントとサーバーの両方が証明書の有効性を検証する必要があります。

    • SSL 証明書の主な機能は、サーバー認証とデータ送信の暗号化を提供することです。これにより、送信中にデータが盗まれたり改ざんされたりすることがなくなり、セキュリティが強化され、権限のない人によるサーバーへのアクセスが防止されます。

    • SSL 証明書の検証プロセス中に、クライアントとサーバーの両方が証明書の有効性を検証する必要があります。

    さらに、リクエストには証明書検証の機能もあります。HTTP リクエストを送信すると、SSL 証明書がチェックされます。verify パラメータを使用して、証明書を検証するかどうかを制御できます。この証明書を確認してください。通常、デフォルトでオンになっています。

    それでは、コードはどうやって書くのでしょうか?

    response = requests.get('http://www.baidu.com',verify = False)

    4. プロキシ設定

    一部の 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 プロパティを使用して、応答ステータス コードとヘッダー情報を出力します。

    5. タイムアウト設定

    ネットワークが良好でない場合、またはサーバーの応答が遅すぎる場合、またはサーバーがエラーを報告する場合もあります。時間内に応答できなかった場合は、タイムアウト設定を設定できます。ここではタイムアウト パラメーターが使用されます。

    response = requests.get('http://www.baidu.com',timeout= 30)

    リクエスト オブジェクトの timeout 属性は、リクエストのタイムアウトを設定するために使用されます。デフォルトでは、timeout 属性の値は 60 です。これは、リクエストのタイムアウトが 60 秒であることを意味します。タイムアウトを変更する必要がある場合は、リクエストのタイムアウトが 30 秒であることを意味する 30 など、より小さい値に設定できます。

    リクエストの送信後すぐにレスポンスを返す必要がある場合は、タイムアウト属性を 0 に設定できます。これにより、タイムアウト属性の値が None になり、リクエストが永久にタイムアウトになることを示します。

    以上がPythonのリクエストモジュールの使い方は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。