- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 curl 脚本充当客户端和主服务器之间的代理。
……
$field_array= array(
'Accept' => 'HTTP_ACCEPT',
'Accept-Charset' => 'HTTP_ACCEPT_CHARSET',
'Accept-Encoding' => 'HTTP_ACCEPT_ENCODING',
'Accept-Language' => 'HTTP_ACCEPT_LANGUAGE',
'Connection' => 'HTTP_CONNECTION',
'Host' => 'HTTP_HOST',
'Referer' => 'HTTP_REFERER',
'User-Agent' => 'HTTP_USER_AGENT'
);
$curl_request_headers=array();
foreach ($field_array as $key => $value) {
if(isset($_SERVER["$value"])) {
$server_value=$_SERVER["$value"];
$curl_request_headers[]="$key: $server_value";
}
};
$curl_request_headers[]="Expect: ";
session_write_close();
//Open connection
$curl_handle = curl_init();
curl_setopt($curl_handle,CURLOPT_COOKIE,session_name()."=".session_id().";");
//Set the url, POST data
curl_setopt($curl_handle, CURLOPT_URL, $curl_url);
curl_setopt($curl_handle, CURLOPT_POST, !empty($user_post_data));
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $user_post_data);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($curl_handle, CURLOPT_HEADER, 1);
curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl_handle, CURLOPT_HTTPHEADER, $curl_request_headers);
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($curl_handle);
//Close connection
curl_close($curl_handle);
list($headers,$content)=explode("\r\n\r\n",$result,2);
foreach (explode("\r\n",$headers) as $hdr) {
if(preg_match("/Transfer-Encoding:.*chunked/i", $hdr)) {
// Remove chunked headers. Not properly handled by browsers
} else {
header($hdr);
};
}
echo $content;
现在,在主服务器上,我在一个脚本中设置了一个 cookie,然后尝试在另一个脚本中读取它的值。我无法读取值。因此在 curl 中传递值存在一些问题。如何修复?
谢谢
实际上,一个愚蠢的问题。我需要在 CURLOPT_COOKIE 中明确设置 cookie。以下代码现在对我有用:
......
$_COOKIE[session_name()]=session_id();
$cookie_string="";
foreach( $_COOKIE as $key => $value ) {
$cookie_string .= "$key=$value;";
};
//Open connection
$curl_handle = curl_init();
curl_setopt($curl_handle,CURLOPT_COOKIE, $cookie_string);
......
最佳答案
您必须在分号后添加空格,所以最好的方法是:
$cookie = array();
foreach( $_COOKIE as $key => $value ) {
$cookie[] = "{$key}={$value}";
};
$cookie = implode('; ', $cookie);
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_COOKIE, $cookie);
关于PHP Curl 和 setcookie 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6453347/
我正在尝试如下设置 cookie。 CookieSyncManager.createInstance(context); CookieManager cookieManager = CookieMan
我看到很多人问过类似的问题,所以如果我重复了,但我在其他帖子中找不到答案,请见谅。 这只是一个测试页面,在本地主机上运行。我有一个 HTML 登录页面,将表单数据发送到 PHP 脚本,该脚本正在检查
我已经进行了登录,它设置了一个带有估算电子邮件地址值的 cookie,因此在 global.php 文件中,它使用以下方式存储用户数据的数组: $email = $_COOKIE["PeopleHub
您好,我正在尝试在我的网站上使用 cookie。在我的站点中实现它们之前,我创建了两个测试页面来试用它们,但它似乎效果不佳。 第一页有: 第二页有: 所以为了测试它,我先转到第一页,然后转到第二页
您好,我正在尝试在我的网站上使用 cookie。在我的站点中实现它们之前,我创建了两个测试页面来试用它们,但它似乎效果不佳。 第一页有: 第二页有: 所以为了测试它,我先转到第一页,然后转到第二页
我定期在 Twitter 应用程序的回调页面中设置 cookie。一切正常。 现在,我使用 jQuery 提交表单,回调函数激活 PHP 脚本。该脚本只需将一个 cookie 设置为 $_POST 的
所以,我有一个简单的脚本,允许您在任何“团队名称”之间进行选择。当您选择并提交时,它应该使用选择的值(团队名称的哈希版本)执行 php setcookie。 相关代码如下: 和 HTML Selec
quys,我的 PHP 应用程序有问题。 我有 2 个页面用于登录和注册。两个页面都使用通用的 cookies 类。一切正常,除了一件事:setcookie() 仅适用于 /signin 页面(coo
我想做的是设置 cookie至 Response经过一些Validation在后端。 这是我的代码: Controller public class MyController : Controller
我有一个 php 文件: 0){ $cookie_name = "auth"; $cookie_value = "ok"; $cookie_expire = "0";
我有一个设置 cookie 的页面,如果您选中一个复选框,它会回显一个字符串。字符串打印正确,但 cookie 从未设置,我不知道为什么。 " method="post"> Option 1:
在一页上我有这样的东西 setcookie('user', 'value' ,6000, '/', 'mydomain.co.uk'); 在我的后续页面上 var_dump($_COOKIE); 我可
有什么方法可以设置在子域上不可可读的 cookie?换句话说,让 cookie 在 domain.com 上可用,但不 www.domain.com 或 xyz.domain.com 。 //this
一些不是我编写的应用程序,也不是用 PHP 编写的,它为域 www.example.com 创建了一个 cookie。 我正在尝试替换该 cookie。所以在 PHP 中我做到了: setcookie
这个问题在这里已经有了答案: PHP - setcookie(); not working (6 个答案) 关闭 7 年前。 我正在使用这个代码 setcookie("we", 2, time()+
我的登录似乎没有创建 cookie。该表单一直到达脚本的 cookie 创建部分,甚至回显已创建 cookie,但实际上并未创建 cookie。 这是我的代码的 cookie 部分: if (!$er
在 example on php.net使用session_destroy(),它指定删除一个cookie: if (ini_get("session.use_cookies")) { $pa
我正在尝试将 PHP cookie 设置为自用户登录后 1 年后过期,我这样做是这样的: setcookie("myCookie",'exampleUserName',(365 * 24 * 60)
我希望有人可以帮助解决我在处理某些代码时遇到的这个小问题。请记住,这只是一个业余爱好网站,我知道存在安全漏洞。我编写了一个名为 set_remember_cookies 的函数,当用户选中“记住我”框
在 example on php.net使用session_destroy(),它指定删除一个cookie: if (ini_get("session.use_cookies")) { $pa
我是一名优秀的程序员,十分优秀!