我使用php curl發送發佈信息。沒關係。沒問題。但是它發送服務器的IP。這對我來說是一個問題。通過PHP(curl)或jQuery - IP問題發送POST信息 -
jQuery是發送與用戶的IP後的信息,但是有jQuery的跨域問題。它不會將發佈信息發送到其他域。它只適用於相同的域。
我想送崗位信息(另一個域)+用戶IP(而不是服務器IP)。我喜歡學習你的建議......那麼,有沒有其他的方式來完成這份工作?
謝謝,關心。
我使用php curl發送發佈信息。沒關係。沒問題。但是它發送服務器的IP。這對我來說是一個問題。通過PHP(curl)或jQuery - IP問題發送POST信息 -
jQuery是發送與用戶的IP後的信息,但是有jQuery的跨域問題。它不會將發佈信息發送到其他域。它只適用於相同的域。
我想送崗位信息(另一個域)+用戶IP(而不是服務器IP)。我喜歡學習你的建議......那麼,有沒有其他的方式來完成這份工作?
謝謝,關心。
做到這一點的唯一方法是讓網頁指向指定的資源上的表單,給它一個POST
方法,並提交。
如果你不想整個頁面重新加載,使用iframe。
<iframe id="myiframe"></iframe>
<form action="http://some-other-site.com/page.php" method="post" target="myiframe">
....
但是,您將無法訪問站點輸出的結果 - 同樣是由於跨域/單一來源策略。
如果「一些,其他的現場」是你太,你只需要客戶端IP有 - 你可以用值從全局數組$_SERVER["REMOTE_ADDR"]
通只是一個POST
參數,但如果你需要從客戶端的請求IP - 你應該使用iframe,就像佩卡說的那樣。
感謝您的回答。我認爲iframe是您和@Pekka所說的最佳解決方案。問候 – Eric 2011-01-21 22:20:09
您還可以設置一個PHP腳本,將proxify你的電話。
在同一個域中,把一個PHP腳本,將捕獲後ARGS,並重新發送直通捲曲電話。然後輸出你的jquery ajax調用會捕獲的結果。
感謝您的答案。其實,我不明白這一點。我認爲這對我來說是一個複雜的系統。無論如何,再次感謝。 – Eric 2011-01-21 22:31:11
是的。使用捲曲腳本發佈圖像,但那又如何?我如何得到結果?
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" name="sub" value="upload"/>
</form>
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
if($_POST['sub'])
{
if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
//set POST variables
$url = 'http://img.savvylist.com/';
$contents = $_FILES["file"]["tmp_name"];
//get image file as contents.
$fields = array(
'filetype'=>'jpg',
'fileid'=>'test_suite:adam:head.jpg',
'content'=>$contents
);
//url-ify the data for the POST
$fields_string = '';
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
}
}
}
?>
現在呢?
感謝您的回答。聽起來不錯。即時在我的本地主機上測試它..再次感謝。 – Eric 2011-01-21 22:12:22