file_get_contents版本:
04 | * @param string $url 请求地址 |
05 | * @param array $post_data post键值对数据 |
08 | function send_post( $url 01
$post_data ) { |
10 | $postdata = http_build_query( $post_data ); |
14 |
'header' => 'Content-type:application/x-www-form-urlencoded' ,
|
15 |
'content' => $postdata ,
|
16 |
'timeout' => 15 * 60 // 超时时间(单位:s)
|
19 |
$context = stream_context_create( $options );
|
20 |
$result = file_get_contents ( $url <?php $context ); |
使用如下:
2 | 'username' => 'stclair2201' ,
|
5 |
send_post( 'http://blog.snsgou.com'
$post_data );
|
🎜🎜🎜02🎜🎜🎜🎜/**🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜03🎜🎜🎜🎜 🎜🎜* 投稿リクエストを送信🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜04🎜🎜🎜🎜 🎜🎜* @param string $url リクエストアドレス🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜05🎜🎜🎜🎜🎜🎜* @param array $post_data キーと値のペアのデータを投稿します🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜06🎜🎜🎜🎜🎜🎜 * @return string🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜07🎜🎜🎜🎜🎜🎜*/ 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜08🎜🎜🎜🎜function🎜🎜send_post(🎜🎜$url🎜🎜,
🎜🎜$post_data🎜🎜) {🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜09🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜10🎜🎜🎜🎜 🎜🎜$postdata🎜🎜= http_build_query(🎜 🎜$post_data🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜11🎜🎜🎜🎜 🎜🎜$options🎜🎜= 🎜🎜配列🎜🎜(🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜12 🎜🎜🎜🎜 🎜🎜'http'🎜🎜=> 🎜🎜配列🎜🎜(🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜13🎜 🎜🎜🎜 🎜🎜'メソッド'🎜🎜=>🎜🎜' POST'🎜🎜,🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜14🎜🎜🎜🎜 🎜🎜'ヘッダー'🎜🎜=> 🎜「コンテンツタイプ:application/x-www-form-urlencoded」🎜 🎜,🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜15🎜🎜🎜🎜 🎜🎜のコンテンツ'🎜🎜=> 🎜🎜、🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜16🎜 🎜🎜🎜 🎜🎜'timeout'🎜🎜=> 15 * 60 🎜🎜// 超時間间(单位:s)🎜🎜🎜🎜🎜🎜🎜 🎜🎜17🎜🎜🎜🎜 🎜🎜)🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜18🎜🎜🎜🎜 🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜19 🎜🎜🎜🎜 🎜🎜$context🎜🎜= stream_context_create(🎜🎜$options🎜🎜 );🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜20🎜🎜🎜🎜 🎜🎜$result🎜🎜= 🎜🎜file_get_contents🎜🎜(🎜 🎜$url🎜🎜、偽、
🎜🎜$context🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜21🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜22🎜🎜🎜🎜 🎜🎜return🎜🎜$result🎜🎜; 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜23🎜🎜🎜🎜}🎜🎜🎜🎜🎜🎜🎜🎜🎜以下のように使用します:🎜🎜🎜 🎜🎜🎜🎜🎜🎜1🎜🎜🎜🎜$post_data🎜🎜= 🎜 🎜配列🎜🎜(🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜2🎜🎜🎜🎜 🎜🎜'ユーザー名'🎜🎜=> 2201'🎜🎜、🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜3🎜🎜🎜🎜 🎜🎜'パスワード'🎜🎜=>🎜🎜'邯鄲'🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜4🎜 🎜🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜5🎜🎜🎜🎜send_post(🎜🎜'http://blog.snsgou.com'🎜🎜,
🎜🎜$post_data🎜🎜);🎜🎜🎜🎜🎜
実践的な経験:
上記のコードを使用して http リクエストを別のサーバーに送信したとき、サーバーがリクエストの処理に時間がかかりすぎると、ローカルの PHP がリクエストを中断することがわかりました。 -タイムアウト割り込みと呼ばれるもの。 1つ目は、PHP自体の実行時間が制限を超えているのではないかと疑っていますが、かなり前にこの記事に従って「PHPの実行時間制限」を設定したため、それは考えないでください([おすすめ】PHPアップロードファイルサイズ制限一覧) よく考えた結果、httpリクエスト自体に時間制限をかけるべきだと思い、httpリクエストの時間制限を増やす方法を考えました。 。 。 。 。 。 PHPマニュアルを確認すると、確かにパラメータがあります。
「タイムアウト」、デフォルトでどのくらいの大きさかわかりませんが、その値をより大きな値に設定すると、問題は解決されます~~~
ソケットのバージョン:
04 |
* $post_string = "app=socket&version=beta";
|
05 |
* request_by_socket('blog.snsgou.com', '/restServer.php', $post_string);
|
07 |
function request_by_socket( $remote_server , $remote_path , $post_string , $port = 80, $timeout = 30) {
|
08 |
$socket = fsockopen ( $remote_server 01 $port , $errno /** $errstr , $timeout );
|
09 |
if (! $socket
die ( "$errstr($errno)" );
|
10 |
fwrite( $socket
"POST $remote_path HTTP/1.0" );
|
11 |
fwrite( $socket
"User-Agent: Socket Example" );
|
12 |
fwrite( $socket 02 "HOST: $remote_server" );
|
13 |
fwrite( $socket "Content-type: application/x-www-form-urlencoded" );
|
14 |
fwrite( $socket * ソケットバージョン "Content-length: " . ( strlen ( $post_string
"" );
|
15 |
fwrite( $socket
"Accept:*/*" );
|
17 |
fwrite( $socket 03 "mypost=$post_string" );
|
🎜 🎜 🎜🎜🎜🎜🎜🎜🎜04🎜🎜🎜🎜 🎜🎜* $post_string = "app=socket&version=beta";🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜 🎜05🎜🎜🎜🎜🎜🎜* request_by_socket ( 'blog.snsgou.com', '/restServer.php', $post_string);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜06🎜🎜🎜🎜 🎜🎜*/🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜07🎜🎜🎜🎜機能🎜 🎜request_by_socket(🎜🎜$remote_server 🎜🎜,🎜🎜 $remote_path🎜🎜,🎜🎜$ post_string🎜🎜,🎜🎜$port🎜🎜= 80,🎜🎜$timeout🎜🎜= 30) 🎜🎜08🎜🎜🎜 🎜 🎜🎜 $socket🎜🎜= 🎜🎜fsockopen 🎜🎜(🎜🎜$remote_server🎜🎜,
🎜🎜$ポート🎜🎜、🎜🎜$エラーノ🎜🎜、
🎜🎜$errstr🎜🎜、🎜🎜$timeout🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜09🎜🎜🎜🎜 🎜if🎜 🎜(!🎜🎜$ソケット🎜🎜)
🎜🎜die🎜🎜(🎜🎜"$errstr($errno)"🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜10🎜🎜🎜🎜 🎜 🎜fwrite(🎜🎜$ソケット🎜🎜,
🎜🎜"POST $remote_path HTTP/1.0"🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜11🎜🎜🎜🎜 $socket🎜🎜,
🎜🎜"ユーザーエージェント: ソケットの例"🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜12🎜🎜🎜🎜 et🎜🎜,
🎜🎜"ホスト: $remote_server"🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜13🎜🎜🎜🎜ら🎜🎜、
🎜🎜"コンテンツタイプ: application/x-www-form-urlencoded" 🎜🎜);
🎜🎜"Content-length: "🎜🎜. (🎜🎜strlen🎜🎜(🎜🎜$post_string🎜🎜) + 8) .
🎜🎜""🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜15🎜🎜🎜🎜
🎜🎜"受け入れる:*/*"🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜16🎜🎜🎜🎜 🎜🎜fwrite(🎜🎜$socket 🎜 🎜、
🎜🎜""🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜17🎜🎜🎜🎜
🎜🎜"mypost=$post_string"🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜18🎜🎜🎜🎜 🎜🎜fwrite(🎜🎜$socket 🎜 🎜、
🎜🎜""🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜19🎜🎜🎜🎜 🎜🎜$header🎜🎜= 🎜🎜"" 🎜🎜;🎜🎜🎜🎜🎜
20 |
while ( $str = trim( fgets ( $socket , 4096))) {
|
25 |
while (! feof ( $socket )) {
|
26 |
$data .= fgets ( $socket , 4096);
|
Curl版本:
04 |
* $post_string = "app=request&version=beta";
|
05 |
* request_by_curl('http://blog.snsgou.com/restServer.php', $post_string);
|
07 |
function request_by_curl( $remote_server 20
$post_string ) {
|
09 |
curl_setopt( $ch $remote_server );
|
10 |
curl_setopt( $ch while ('mypost=' . $post_string );
|
11 |
curl_setopt( $ch , CURLOPT_RETURNTRANSFER, true);
|
12 |
curl_setopt( $ch $str "snsgou.com's CURL Example beta" );
|
13 |
$data = curl_exec( $ch );
|
Curl版本(2)
02 |
* 发送HTTP请求 = トリム( |
fgets
(🎜🎜$socket 🎜🎜、4096))) {🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜21🎜🎜🎜🎜 🎜🎜$header🎜🎜.= 🎜🎜$str🎜🎜;🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜22🎜🎜🎜🎜 🎜🎜}🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜23🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜24🎜🎜🎜🎜 🎜 🎜$data🎜🎜= 🎜🎜""🎜🎜;🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜25🎜🎜🎜🎜 🎜🎜while🎜🎜(!🎜🎜feof🎜🎜(🎜🎜$socket🎜🎜)) {🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜26🎜🎜🎜🎜 🎜 🎜$data🎜🎜.= 🎜🎜fgets🎜🎜(🎜🎜$socket🎜🎜, 4096);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜27🎜 🎜🎜🎜 🎜🎜}🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜28🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜29🎜🎜🎜🎜 🎜🎜return🎜🎜$data 🎜🎜;🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜30🎜🎜 🎜🎜}🎜🎜🎜🎜🎜🎜🎜🎜🎜
Curl バージョン:🎜🎜🎜🎜🎜🎜🎜🎜🎜01🎜🎜🎜🎜/**🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜02🎜🎜🎜🎜 🎜🎜* カール版本🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜03🎜🎜🎜🎜 🎜🎜* 使用方法:🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜04🎜🎜🎜🎜 🎜🎜* $post_string = "app=request&version=beta";🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜05 🎜🎜🎜🎜 🎜🎜* request_by_curl('http ://blog.snsgou.com/restServer.php', $post_string);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜06🎜🎜🎜🎜 🎜🎜*/ 🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜07🎜🎜🎜🎜function🎜🎜request_by_curl(🎜🎜$remote_server🎜🎜,
🎜🎜$post_string🎜🎜) {🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜08🎜🎜🎜🎜 🎜🎜$ch🎜🎜=curl_init();🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜09🎜 🎜🎜🎜 🎜🎜curl_setopt(🎜🎜$ch🎜🎜, CURLOPT_URL,
🎜🎜$remote_server🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜10🎜🎜🎜🎜 🎜🎜curl_setopt(🎜🎜$ch 🎜🎜、CURLOPT_POSTFIELDS、
🎜🎜'mypost='🎜🎜。 🎜🎜$post_string🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜11🎜🎜🎜🎜 🎜🎜curl_setopt(🎜🎜$ch🎜) 🎜、CURLOPT_RETURNTRANSFER、true);🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜12🎜🎜🎜🎜 🎜🎜curl_setopt(🎜🎜$ch🎜🎜, CURLOPT_USERAGENT,
🎜🎜「snsgou.com の CURL サンプル ベータ版」🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜13🎜🎜🎜🎜 🎜🎜$data🎜🎜= _exec(🎜🎜$ch🎜🎜);🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜14🎜🎜🎜🎜 🎜🎜curl_close(🎜🎜$ch🎜🎜);🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜15🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜16🎜🎜🎜🎜 🎜🎜return🎜🎜$data🎜🎜;🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜17🎜 🎜🎜🎜}🎜🎜🎜🎜🎜🎜🎜🎜🎜カールバージョン本(2)🎜🎜🎜🎜🎜🎜🎜🎜🎜01🎜🎜🎜🎜/**🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜02🎜 🎜🎜🎜 🎜🎜* 送信HTTP请要求🎜🎜 🎜🎜🎜
04 |
* @param string $url 请求地址
|
05 |
* @param string $method 请求方式 GET/POST
|
06 |
* @param string $refererUrl 请求来源地址
|
07 |
* @param array $data 发送数据
|
*
09 |
* @param string $timeout
|
10 |
* @param string $proxy
|
13 |
function send_request( $url
$data , $refererUrl = '' , $method = 'GET' 04 $contentType = 'application/json' $timeout = 30, $proxy = false) {
|
15 |
if ( 'POST' === strtoupper ( $method )) {
|
17 |
curl_setopt( $ch , CURLOPT_POST, 1);
|
18 |
curl_setopt( $ch , CURLOPT_HEADER,0 );
|
19 |
curl_setopt( $ch , CURLOPT_FRESH_CONNECT, 1);
|
20 |
curl_setopt( $ch , CURLOPT_RETURNTRANSFER, 1);
|
21 |
curl_setopt( $ch , CURLOPT_FORBID_REUSE, 1);
|
22 |
curl_setopt( $ch * @param string $url リクエストアドレス
$timeout );
|
24 |
curl_setopt( $ch
$refererUrl );
|
🎜🎜05🎜🎜🎜🎜🎜🎜* @param string $method リクエストメソッド GET/POST 🎜🎜🎜* @param string $refererUrl リクエスト元アドレス 🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜07🎜🎜🎜 🎜 🎜🎜* @param array $data データ送信🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜08🎜🎜🎜🎜🎜🎜* @param string $contentType
🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜09🎜🎜🎜🎜 🎜🎜* @param string $timeout🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜10🎜🎜🎜🎜 🎜🎜* @param string $proxy 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜11🎜🎜🎜🎜🎜🎜* @return boolean🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜12🎜🎜🎜🎜🎜🎜*/🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜13🎜🎜🎜🎜function🎜🎜send_request(🎜🎜$url🎜🎜,
🎜🎜$data🎜🎜、🎜🎜$refererUrl🎜🎜= 🎜🎜''🎜🎜、🎜🎜$method🎜🎜= 🎜🎜'GET'🎜🎜、
🎜🎜$contentType🎜🎜= 🎜🎜'アプリケーション/json'🎜🎜,
🎜🎜$timeout🎜🎜= 30、🎜🎜$proxy🎜🎜= false) {🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜14🎜🎜🎜🎜🎜 🎜$ch🎜🎜= null;🎜🎜🎜🎜 🎜 🎜🎜🎜🎜🎜🎜🎜15🎜🎜🎜🎜 🎜🎜if🎜🎜(🎜🎜'POST'🎜🎜=== 🎜🎜strtoupper🎜🎜(🎜) 🎜$メソッド🎜🎜)) {🎜🎜🎜🎜 🎜🎜🎜 🎜🎜🎜🎜🎜16🎜🎜🎜🎜 🎜🎜🎜🎜17🎜🎜🎜 🎜 $ch🎜🎜、CURLOPT_POST、1);🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜18🎜🎜🎜🎜🎜 🎜、CURLOPT_HEADER,0 );🎜🎜🎜🎜🎜🎜🎜 ~ 🎜🎜🎜🎜🎜🎜20🎜🎜🎜 ch🎜🎜、CURLOPT_RETURTRANSFER、1);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜21🎜🎜 🎜🎜 🎜$ch🎜🎜、CURLOPT_FORBID_REUSE、1);🎜🎜🎜🎜🎜🎜🎜🎜 ~
🎜🎜$Timeout🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜23🎜🎜🎜🎜$refererurl🎜🎜){🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜24🎜🎜🎜🎜
🎜🎜$refererUrl🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜25🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜 🎜🎜26🎜🎜🎜🎜 (🎜🎜$contentType🎜🎜) {🎜🎜 🎜🎜🎜
27 |
curl_setopt( $ch 27
array ( 'Content-Type:' . $contentType ));
|
30 |
curl_setopt( $ch $data );
|
32 |
curl_setopt( $ch , CURLOPT_POSTFIELDS, http_build_query( $data ));
|
34 |
} else if ( 'GET' === strtoupper ( $method )) {
|
35 |
if ( is_string ( $data )) {
|
36 |
$real_url = $url . ( strpos ( $url curl_setopt( $ch'?' ) === false ? '?' : '' , CURLOPT_HTTPHEADER,
$data ;
|
38 |
$real_url = $url . ( strpos ( $url array ('?' ) === false ? '?' : '' ). http_build_query( $data );
|
41 |
$ch = curl_init( $real_url );
|
42 |
curl_setopt( $ch , CURLOPT_HEADER, 0);
|
43 |
curl_setopt( $ch 'Content-Type:' array ( 'Content-Type:' . $contentType ));
|
44 |
curl_setopt( $ch , CURLOPT_RETURNTRANSFER, 1);
|
45 |
curl_setopt( $ch . $contentType$timeout );
|
🎜🎜🎜🎜🎜🎜🎜🎜🎜28🎜 🎜🎜🎜 🎜🎜}🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜29🎜🎜🎜🎜 🎜🎜if🎜🎜(🎜🎜is_string🎜🎜(🎜🎜$data🎜🎜)){🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜30🎜🎜🎜 🎜 🎜🎜curl_setopt(🎜🎜$ch🎜🎜, CURLOPT_POSTFIELDS,
🎜🎜$data🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜31🎜🎜🎜🎜 🎜🎜else🎜🎜} {🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜32🎜🎜🎜」 🎜 🎜🎜curl_setopt(🎜🎜$ch🎜🎜, CURLOPT_POSTFIELDS, http_build_query(🎜🎜$data🎜🎜));🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜33🎜🎜🎜🎜 🎜🎜}🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜34🎜🎜🎜🎜 🎜🎜} 🎜🎜else🎜🎜if🎜🎜(🎜🎜'GET'🎜🎜=== 🎜🎜strtoup per🎜🎜(🎜🎜$method🎜🎜)) {🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜35🎜🎜🎜🎜 🎜🎜if🎜🎜(🎜🎜is_string🎜🎜(🎜🎜$data 🎜🎜)) {🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜36 🎜🎜🎜🎜 🎜🎜$real_url🎜🎜= 🎜🎜$url🎜🎜。 (🎜🎜strpos🎜🎜(🎜🎜$url🎜🎜,
🎜🎜'?'🎜🎜) === false ? 🎜🎜'?'🎜🎜: 🎜🎜''🎜🎜)。
🎜🎜$data🎜🎜;🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜37🎜🎜🎜🎜 🎜🎜} 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜38🎜🎜🎜🎜 🎜🎜$real_url🎜🎜= 🎜🎜$url🎜🎜。 (🎜🎜strpos🎜🎜(🎜🎜$url🎜🎜,
🎜🎜'?'🎜🎜) === false ? 🎜🎜'?'🎜🎜: 🎜🎜''🎜🎜)。 http_build_query(🎜🎜$data🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜39🎜🎜🎜🎜 🎜🎜}🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜40🎜🎜🎜 🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜41🎜🎜🎜🎜 🎜🎜$ch🎜🎜=curl_init(🎜🎜$real_url🎜🎜);🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜42🎜🎜🎜🎜 🎜🎜curl_setopt( 🎜🎜$ch🎜🎜, CURLOPT_HEADER, 0);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜43🎜🎜🎜🎜 🎜🎜curl_setopt( 🎜🎜$ch🎜🎜、CURLOPT_HTTPHEADER、
🎜🎜array🎜🎜(🎜🎜'Content-Type:'🎜🎜.🎜🎜$contentType🎜🎜));🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜44🎜 🎜🎜🎜 🎜🎜curl_setopt(🎜🎜$ ch🎜🎜、CURLOPT_RETURNTRANSFER、1);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜45🎜🎜🎜🎜 🎜🎜curl_setopt(🎜) 🎜$ch🎜🎜、CURLOPT_TIMEOUT、
🎜🎜$timeout🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜46🎜🎜🎜🎜 🎜🎜if🎜🎜(🎜🎜) $refererUrl🎜🎜) {🎜🎜🎜🎜🎜
47 |
curl_setopt( $ch 47
$refererUrl );
|
50 |
$args = func_get_args();
|
55 |
curl_setopt( $ch $proxy );
|
58 |
$info = curl_getinfo( $ch );
|
, CURLOPT_REFERER,
$refererUrl
);
🎜🎜🎜🎜🎜🎜48🎜🎜🎜🎜 🎜🎜}🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜49🎜🎜🎜🎜 🎜🎜} 🎜🎜 else🎜🎜{🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜50🎜🎜🎜🎜 🎜🎜$args🎜🎜= func_get_args();🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜51🎜🎜🎜🎜 🎜 🎜return🎜🎜false;🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜52🎜🎜🎜🎜 🎜🎜}🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜53🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜54🎜🎜🎜🎜 🎜🎜if🎜🎜(🎜🎜$proxy🎜🎜) 5🎜🎜🎜🎜 🎜🎜curl_setopt(🎜🎜$ch🎜🎜, CURLOPT_PROXY、
🎜🎜$proxy🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜56🎜🎜🎜🎜 🎜🎜}🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜57🎜🎜🎜🎜 🎜🎜$ret🎜 🎜=curl_exec(🎜🎜$ch🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜58🎜🎜🎜🎜 🎜🎜$info🎜🎜= info(🎜🎜$ch🎜🎜);🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜59🎜🎜🎜🎜 🎜🎜$contents🎜🎜= 🎜🎜array🎜🎜(🎜🎜🎜🎜🎜🎜🎜) 🎜🎜🎜🎜🎜60🎜🎜🎜🎜 🎜🎜'http情報'🎜🎜 =>🎜🎜配列🎜🎜(🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜61🎜🎜🎜🎜 🎜🎜の終了'🎜🎜=>🎜🎜$data🎜🎜,🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜62🎜🎜🎜🎜 🎜🎜'url'🎜🎜=> 🎜🎜$url🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜63🎜🎜🎜🎜 🎜🎜「レット」🎜 🎜=> 🎜🎜$ret🎜🎜、🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜64🎜🎜🎜🎜 🎜 🎜'http'🎜🎜=>🎜🎜$info🎜🎜,🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜65🎜🎜🎜🎜 🎜🎜)🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜66🎜 🎜🎜🎜 🎜🎜);🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜67🎜 🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜68🎜🎜🎜🎜 🎜🎜curl_close(🎜🎜$ch🎜🎜);🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜69🎜🎜🎜🎜 🎜🎜戻る🎜🎜$ret🎜🎜;🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜70🎜🎜🎜🎜}🎜🎜🎜🎜🎜🎜🎜🎜 🎜WCF インターフェイスの例:$json =restRequest($r_url,' POST'、json_encode($data));🎜🎜
🎜
以上は php の post と get の実行であり、側面の内容も含まれており、PHP の教義に関心のある友人の助けになることを望んでいます。
🎜
🎜