ホームページ  >  記事  >  バックエンド開発  >  PHPカールは、データを送信するためのポストリクエストをシミュレートするサンプルの概要_PHPチュートリアル

PHPカールは、データを送信するためのポストリクエストをシミュレートするサンプルの概要_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:11:59942ブラウズ

PHP でポスト リクエスト データの送信をシミュレートするには、curl 関数を使用します。必要な方は参考にしてください。

注:curl 関数は php ではデフォルトでサポートされていません。curl 関数を使用する必要がある場合は、php_curl.dll を見つけてその前にある「;」を削除する必要があります。

例1

コードは次のとおりです コードをコピー

$uri = "http://tanteng.duapp.com/test.php";
//パラメータ array
$data = array (
'name' => 'taneng'
// 'password' => 'password'
);

$ch =curl_init ();
// print_r($ch) ;
curl_setopt ( $ch, CURLOPT_URL, $uri );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_seトップ ( $ ch, CURLOPT_POSTFIELDS, $data ) ;
$return =curl_exec ( $ch );
curl_close ( $ch );

print_r($return);

PHP ページのリモートサーバーを受け入れる:

if( isset($_POST['name'])){
if(!empty($_POST['name'])){
echo 'Hello,',$_POST['name'].'! ';
}
}
?>

例 2

CURL を使用して POST リクエストをシミュレートし、郵便番号と住所を取得します

完全なコード:

[s]*?[s]*?/', $data, $matches);

if (!$ handle = fopen($filename, ' A+')) {' 'c a a a a a $ Filename ";

echo" n ";
exit;
}


if (fwrite ($ handle, $matches [0] [1]) == false {echo "ファイル$ filename" ));return((float)$usec+(float)$sec);
usec,$sec , $sec) & gt; ();
}

関数 start () {

$ this- & gt; = $ this-> get_microtime (); Return ($ this-& gt; Stoptime- $this->StartTime);
}
}


$runtime->stop ();

$con = '処理時間'.$runtime->spent().'秒';

echo '処理時間'.$runtime->spent().'秒';


POST リクエストをシミュレートしてデータを送信したり、ファイルをアップロードします。

.

コードは次のとおりです コードをコピーします

#!/usr/local/php/ bin/php
< ?php
$runtime = 新しいランタイム ();
$runtime->start ();


$cookie_jar = tempnam('/tmp','cookie');


$filename = $argv[ 1];
$start_num= $argv[2];
$end_num = $argv[3];


for($i=$start_num; $i<$end_num; $i++ ){
$zip = sprintf ('6s', $ i);


$ field_post = array (
' 郵便番号 '= & gt; $ zip,
' queryKind '= & gt; 2,
' reQCode '= & gt;' ',' ' search_button.x'=>37,
'search_button.y'=>12
);

$fields_string = http_build_query ($fields_post, '&' );
$ch = curl_init();
curl_setopt($ ch, CURLOPT_URL, "URL?reqCode=gotoSearch&queryKind=2&postcode=".$zip);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
カール_setopt($ch, CURLOPT_POST , true );
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120 );
curl_setopt($ch, CURLOPT_REFERER, $refer );
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers_login );
curl_setopt ($ch 、curlopt_ cookiefile、$ cookie_jar);通常の Post リクエストを送信します
curl_setopt( $ch, CURLOPT_POSTFIELDS, $fields_string );


$data =curl_exec($ch);
preg_match_all('/id="table1">[s]*?

[sS]*?
コードは次のとおりです コードをコピーします

http://www.a.com/a.php

POST リクエストを送信します

function execUpload(){


$file = '/doucment/Readme.txt';
$ch =curl_init();
$post_data = array(
'loginfield' => 'username',
'ユーザー名' = > 'ybb',
'パスワード' => '123456',
'ファイル' => '@d:usrwwwtranslatedocumentReadme.txt'
);
curl_setopt($ch, CURLOPT_HEADER, false) ;
//有効にする タイプ: application/x-www-form-urlencoded の通常の POST リクエストが、フォーム送信と同様に送信されます。
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post_data);
$info=curl_exec($) ch);
curl_close($ch);

print_r($info);

}

2.http://www.b.com /handleUpload.php

function handleUpload(){

print_r($_POST) );
echo '===ファイルアップロード情報:';
print_r($_FILES);
}

■cURL function

■curl_close — cURL セッションを閉じる

■curl_copy_handle — cURL ハンドルをコピーおよびそのすべてのオプション
■curl_errno — 最後のエラー番号を返します
■curl_error — 現在のセッションの最新のエラーを保護する文字列を返します
■curl_exec — cURL セッションを実行します
■curl_getinfo — cURL 接続リソース ハンドルに関する情報を取得します
■ curl_init — cURL セッションを初期化します
■curl_multi_add_handle — 個別の Curl ハンドルを Curl バッチ セッションに追加します
■curl_multi_close — cURL ハンドルのグループを閉じます
■curl_multi_exec — 現在の cURL ハンドルのサブ接続を実行します
■curl_multi_getcontent — CURLOPT_RETURNTRANSFER の場合が設定されている場合、フェッチされた出力のテキスト ストリームを返します
■curl_multi_info_read — 現在解析されている cURL に関連するトランスポート情報を取得します
■curl_multi_init — 新しい cURL バッチ ハンドルを返します
■curl_multi_remove_handle — Curl バッチ ハンドル リソース内のハンドル リソースを削除します
■ curl_multi_select — すべての cURL バッチでアクティブな接続を待機します
■curl_setopt_array — cURL 転送セッション バッチのオプションを設定します
■curl_setopt — cURL 転送オプションを設定します
■curl_version — cURL バージョン情報を取得します


http://www.bkjia.com/PHPjc/444612.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444612.html技術記事 PHP でポスト リクエスト データの送信をシミュレートするには、curl 関数を使用します。以下に、ポスト リクエスト データの送信をシミュレートするいくつかの例を示します。必要な方は参考にしてください。 注:...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。