通过PHP(curl)或jQuery发送帖子信息-IP问题-
我用php curl发送帖子信息。没关系。没问题。然而,它发送服务器的IP地址。这对我来说是个问题 jquery使用用户的IP发送帖子信息,但jquery存在跨域问题。它没有将帖子信息发送到另一个域。它只适用于同一个域 我想发送帖子信息(到另一个域)+用户ip(不是服务器ip)。我想听听你的建议。。。那么,还有其他的方法来完成这项工作吗通过PHP(curl)或jQuery发送帖子信息-IP问题-,php,jquery,Php,Jquery,我用php curl发送帖子信息。没关系。没问题。然而,它发送服务器的IP地址。这对我来说是个问题 jquery使用用户的IP发送帖子信息,但jquery存在跨域问题。它没有将帖子信息发送到另一个域。它只适用于同一个域 我想发送帖子信息(到另一个域)+用户ip(不是服务器ip)。我想听听你的建议。。。那么,还有其他的方法来完成这项工作吗 谢谢,您好。唯一的方法是在网页上有一个指向指定资源的表单,给它一个POST方法,然后提交它 如果不希望重新加载整个页面,请使用iframe <iframe
谢谢,您好。唯一的方法是在网页上有一个指向指定资源的表单,给它一个
POST
方法,然后提交它
如果不希望重新加载整个页面,请使用iframe
<iframe id="myiframe"></iframe>
<form action="http://some-other-site.com/page.php" method="post" target="myiframe">
....
....
但是,您将无法访问站点输出的结果-同样是由于跨域/单源策略。如果“其他站点”也是您的,并且您在那里只需要客户端IP-您可以只传递另一个POST
参数,该参数的值来自全局数组$\u服务器[“REMOTE\u ADDR”]
但是,如果您需要从客户端IP发出请求,您应该使用iframe,正如Pekka所说。您还可以设置一个php脚本来代理您的调用
在同一个域中,放置一个php脚本来捕获post参数,并通过curl调用重新发送它。然后打印jQueryAjax调用捕获的结果。是。使用curl脚本发布图像,然后呢?我如何得到结果
<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);
}
}
}
?>
现在怎么办?谢谢你的回答。听起来不错。我现在正在本地主机上测试。。再次感谢。谢谢你的回答。正如你和@Pekka所说,我认为iframe是最好的解决方案。谢谢你的回答。其实我不明白。我认为这对我来说是一个复杂的系统。无论如何,再次谢谢你。