通过PHP(curl)或jQuery - IP问题发送POST信息 -
我使用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