0

curl/php を使用して Web サイトに php/curl を使用して画像をアップロードしようとしています。ウェブサイトは ajax/flash を使用して画像を外部サーバーにアップロードします。firebug を使用して Web サイトに画像を手動でアップロードすると、画像が正常にアップロードされた場合に応答 (パーマネント リンク付き) を受け取るだけですが、どのパラメーターとデータが投稿されたか、どこに正確に投稿されたかはわかりません。

画像をアップロードする必要がある Web URL:

http://tinyurl.com/bp779wx

Web サイトに画像を正常にアップロードするために送信する必要があるパラメーターを確認するにはどうすればよいですか?

4

3 に答える 3

3

あなたが言及した特定のアップローダーは、次のURLからepsToken変数を抽出し、それをパラメーターとして使用してファイルをアップロードします。

http://johannesburg.gumtree.co.za/c-GetEpsToken

私の場合、トークンは次のとおりです。

1:b6ac30fa715a395cf728ac29847b2516f701a8f291fd5243d5153eae41c10636

ここで作成したアップロードリクエストの完全なPOSTデータを確認できます。これはmultipart/form-dataリクエストであるため、それをサポートするためにcurl/PHPコードを調整する必要がある場合があることに注意してください。

基本的に、次のパラメーターはPOSTリクエストを介して提供されました。

Filename = Image.png 
b = 18 
s = 1C5000 
n = k 
a = 1:b6ac30fa715a395cf728ac29847b2516f701a8f291fd5243d5153eae41c10636
v = k 
r = 0 
u = the actual image, sent as a multipart stream 
Upload = Submit Query

画像を正常にアップロードするには、他のパラメータを分析し、他の回答のコードを使用することをお勧めします。

于 2013-02-20T12:57:08.337 に答える
2

PHP と cURL を使用して画像をアップロードします。

function curl_post_request($url, $data, $referer='') {
$data = http_build_query($data); // seems to be required arrays should'nt be supported  ? whatever.
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, true);
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_POSTFIELDS, $data);
curl_setopt($c, CURLOPT_REFERER, $referer);
curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");
curl_setopt($c, CURLOPT_HEADER, $headers); 
curl_setopt($c, CURLINFO_HEADER_OUT, true);
curl_setopt($c, CURLOPT_VERBOSE, true);
$output = curl_exec($c);
var_dump(curl_getinfo($c, CURLINFO_HEADER_OUT));
//var_dump($data);
if($output === false) trigger_error('Erreur curl : '.curl_error($c),E_USER_WARNING);
curl_close($c);
return $output;
}

if(isset($_GET['GO'])) {

$data = array(
'pic1' => "@".realpath('image.jpg'),
'postedvar1' => 'test1',
'postedvar2' => 'test2'
 );
$url = 'http://localhost/test/index.php';
$a = curl_post_request($url, $data);
var_dump($a);

} else {

print_r($_POST);
print_r($_FILES);
}

リモート フォーム経由で CURL + PHP を使用して画像をアップロードする

 $info = array('test title','1234','virginia','@'.realpath('e:\wamp  
 \www\1.jpg'),'@'.realpath('e:\wamp\www\2.jpg'),'@'.realpath('e:\wamp\www
 \3.jpg'),'@'.realpath('e:\wamp\www\4.jpg'),'test description');
  $post->postAd($url, $info);

こちらもお読みください

http://www.maheshchari.com/upload-image-file-to-remote-server-with-php-curl/

そして、このリンクを見てください

http://blog.smileylover.com/remote-upload-to-imageshackus-with-phpcurl/

http://blogs.digitss.com/php/curl-php/posting-or-uploading-files-using-curl-with-php/

于 2013-02-18T05:59:29.613 に答える
1

アップロードされたサイトの画像に問題があります-エラーが表示されるだけです

写真のアップロード中にエラーが発生しました。画像のサイズとサイズを確認して、もう一度お試しください。引き続き問題が発生する場合は、基本的なイメージローダーに切り替えることができます。

すべてのタイプの画像と基本的な画像ローダーも実際には利用できません!。

于 2013-02-18T06:40:29.623 に答える