PHPのデータ取得の問題について質問する
PC クライアントは crul 投稿データをバックグラウンドに渡します:
http://218.204.14.50/test/?oldip=61.141.251.21&newip=61.141.251.25&urldata=http://detail.ju.taabao.com/home.htm ?spm=601#/&agent=Mozilla/4.0 (互換; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E) &normal=100&error=102
バックグラウンド PHP データ取得コード:
$oldip=$_GET["oldip"];
$newip=$_GET["urldata"];
$agent=$_GET["agent" ];
$normal=$_GET["normal"];
$error=$_GET["error"];
file_put_contents(test.txt,$newip,FILE_APPEND); ) );
file_put_contents(test.txt,$urldata,FILE_APPEND);
file_put_contents(test.txt,$normal,FILE_APPEND); error ,FILE_APPEND);
?>
バックグラウンドでは、oldip、newip、および urldata データのみを取得できますが、エージェント、通常、およびエラー データは取得できません。その理由は何でしょうか。の解き方?
ありがとうございます!
ディスカッション(解決策)への返信
投稿なので、$_GET を使用して承認するにはどうすればよいですか?$_POST を使用してください
$newip=$_POST["newip"];
$urldata=$_POST["urldata"]; =$_POST["エージェント"]; $normal=$_POST["エラー"];
file_put_contents(test.txt,$oldip,FILE_APPEND); .txt,$newip,FILE_APPEND);
file_put_contents(test.txt,$urldata,FILE_APPEND);
file_put_contents(test.txt,$normal,FILE_APPEND); (test.txt,$error,FILE_APPEND);
?>
$_POST を使用すると、oldip、newip、urldata、agent、normal、error 変数のデータが受信できなくなります。
ありがとう!
URL にパラメータを入れて渡したら、どうやってデータを取得できるのでしょうか。
$_REQUEST
$_POST
$_GET
値がどこに渡されるかを確認するためにそれらをすべて記録してください
特定の値を渡すコードを記述するには?投稿して見てください
spm=601 があるため #/
慣例により # はアンカー ポイントを表し、テキスト サーバーには送信されません
したがって、後続のコンテンツはは切り捨てられるため、受信できません
post を使用して値を渡す場合、これは起こりません
Curl コードを投稿してください
明らかに、get メソッドで渡しています。
get で渡されるパラメータは、一度 urlencode で変換する必要があります。
http://218.204.14.50/test/?oldip=61.141.251.21&newip=61.141.251.25&urldata=http://detail.ju.taabao.com/home.htm?spm=601#/&agent=Mozilla/ 4.0 (互換性; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E) &normal=100&error=102
を
echo 'http://218.204.14.50/test/?oldip='.urlencode('61.141.251.21').'&newip='.urlencode('61.141.251.25').'&urldata='.urlencode('http://detail.ju.taobao.com/home.htm?spm=601#/').'&agent='.urlencode('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E) ').'&normal=100&error=102';
http://218.204.14.50/test に変更する必要があります/ ?oldip=61.141.251.21&newip=61.141.251.25&urldata=http%3A%2F%2Fdetail.ju.taabao.com%2Fhome.htm%3Fspm%3D601%23%2F&agent=Mozilla%2F4.0+%28互換%3B+ MSIE+6.0%3B+Windows+NT+5.1%3B+SV1%3B+QQダウンロード+732%3B+.NET4.0C%3B+.NET4.0E%29+&normal=100&error=102
xuzuning と fdipzone モデレーター、ありがとうございます
curl コード:
CURL*curl;
curl_global_init(CURL_GLOBAL_ALL);
if(curl) {
CString url( " // /218.204.14.50/test/?oldip=");
url += csolip;
url += "&newip=";
url += csnewip;
url += "&urldata=";
url += csurldata ;
URL += "&agent=";
URL += "&error=";
URL += csagent;カール、CURLOPT_URL、CT2A(url));
curl_easy_setopt(curl、CURLOPT_HTTPGET);
res =curl_easy_perform(curl);
戻るクライアントが urlencode を使用してトランスコードした後も、バックグラウンドでデコードする必要がありますか?
ありがとう!
あなたは C++ または C# ですか
php urlencode に相当する関数はありますか?
ある場合は、 url += csolip; の形式の
を url += urlencode(csolip); の形式の
に変更します。エンコード後、PHP 側でデコードする必要はありません
ああ、クライアントが C++ であることを書き忘れました。試してみます。ありがとう!
urlencoding後は、エージェント、通常、エラーのデータはまだ取得できませんが、urldataの値をtestに設定した後、$_GETの場合、データは受信できるようになります。と $_REQUEST が使用されていません。他の解決策はありますか?ありがとう!
get メソッドには 2k の上限があります
したがって、post メソッドを使用する必要があります
http://www.baidu.com/s?wd=c%2B%2B+curl+post&ie=utf-8
$_GET には 2k の制限があります。代わりに POST を使用してください。
xuzuning と fdipzone モデレーター、ご返信ありがとうございます。クライアントが POST に切り替えた後、基本的にバックグラウンドでデータを取得できますが、新しい問題が発生しました。もう一度質問してください:
http://218.204.14.50/test/?oldip=61.141.251.21&newip=61.141.251.25&urldata=http://detail.ju.taabao.com/home.htm?uastk=8c3def7900&userid=301115#/&agent= Mozilla /4.0 (互換性; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E) &normal=100&error=102
バックエンド PHP コード:
oldip=$_POST['oldip'] ; //結果:61.141.251.21
newip=$_POST['newip']; //結果:61.141.251.25
agent=$_POST['agent']; //結果:Mozilla/4.0 (互換性あり; MSIE 6.0; Windows NT 5.1; QQDownload 732; .NET4.0E)
エラー=$_POST['エラー']; 102
上記の変数は正しく取得できますが、urldata の取得に問題があります
urldata=$$_POST['urldata']; //取得したいコンテンツ: http://detail.ju.taobao.com /home.htm?uastk= 8c3def7900&userid=301115#/ただし、実際に取得されたコンテンツ: http://detail.ju.taabao.com/home.htm?uastk=8c3def7900、&userid=301115#/ を取得できません。アンパサンドの分離に問題がある場合は、この状況をどのように処理するかを尋ねてください。
あなた
file_put_contents('test.txt', print_r($_POST,1));
test.txt の内容を投稿してください
urlencode を使用して解決されました。2 人のモデレーターに改めて感謝します。ありがとう!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
