ホームページ  >  記事  >  バックエンド開発  >  PythonでCURLリクエストとPythonリクエストの相互変換を実現する方法

PythonでCURLリクエストとPythonリクエストの相互変換を実現する方法

WBOY
WBOY転載
2023-05-03 12:49:131361ブラウズ

curl リクエストと Python リクエストはどちらも HTTP リクエストを送信するための強力なツールです。 curl はターミナルからリクエストを直接送信できるコマンドライン ツールですが、Python のリクエスト ライブラリは、Python コードからリクエストを送信するためのよりプログラム的な方法を提供します。

curl を Python リクエストに変換する

curl コマンドの基本構文は次のとおりです:

curl [OPTIONS] URL

curl コマンドを Python リクエストに変換するときは、オプションを変換する必要があります。 URL は Python コードです。

これはサンプルのcurl POSTコマンドです:

curl -X POST https://example.com/api/v1/users \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_API_KEY' \
    -d '{"username": "john_doe", "email": "john_doe@example.com"}'

このcurlコマンドをPythonリクエストに変換するには、次のコードを記述します:

import requests

url = 'https://example.com/api/v1/users'
headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY'
}
data = {
    'username': 'john_doe',
    'email': 'john_doe@example.com'
}

response = requests.post(url, headers=headers, json=data)

print(response.status_code)
print(response.json())

この例では、 request.post() メソッドを使用して、JSON ペイロード {"username": "john_doe", "email": "john_doe@example" を含む POST リクエストを URL https://example.com/api/v1/users に送信します。 .com」”}`。 Content-Type ヘッダーと Authorization ヘッダーも含まれます。

Python リクエストをcurlに変換する

コマンド ラインにはリクエスト ライブラリに直接相当するものがないため、Python リクエスト コードをcurl コマンドに変換するのは少し難しいです。ただし、--data または -d オプションを使用してデータをcurl コマンドに渡し、-H オプションを使用してヘッダーを設定できます。

これはサンプルの Python GET リクエスト スクリプトです:

import requests

url = 'https://example.com/api/v1/users'
headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY'
}
params = {
    'username': 'john_doe',
    'sort': 'name',
    'order': 'asc'
}

response = requests.get(url, headers=headers, params=params)

print(response.status_code)
print(response.json())

この Python リクエスト コードをcurl コマンドに変換するには、次のコマンドを使用できます:

curl -X GET 'https://example.com/api/v1/users?username=john_doe&sort=name&order=asc' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_API_KEY'

この例ではでは、-X GET オプションを使用して、GET リクエストを送信し、URL とクエリ パラメーターを文字列として渡すことを指定します。 Content-Type ヘッダーと Authorization ヘッダーも含まれます。

以上がPythonでCURLリクエストとPythonリクエストの相互変換を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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