我有2页:xyz.com/a和xyz.com/b.xyz.com/b当且仅当我xyz.com/a首先登录时,我才能访问.如果xyz.com/b不通过另一个访问,我只是通过浏览器获得访问被拒绝(没有重定向登录).登录后xyz.com/a,我可以访问另一个.
我的问题是使用curl命令执行此操作.我可以成功登录xyz.com/a使用curl,但是然后尝试xyx.com/b我拒绝访问.
我使用以下内容:
curl --user user:pass https://xyz.com/a #works ok
curl https://xyz.com/b #doesn't work
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用带有和没有用户/密码部分的第二行,但仍然无法正常工作.两个页面都使用相同的CA,因此这不是问题.有什么建议?谢谢
我正在设置信用卡处理,需要使用CURL的解决方法.当我使用测试服务器(没有调用SSL URL)时,以下代码工作正常,但现在当我在使用HTTPS的工作服务器上测试它时,它失败并显示错误消息"无法打开流".
function send($packet, $url) {
$ctx = stream_context_create(
array(
'http'=>array(
'header'=>"Content-type: application/x-www-form-urlencoded",
'method'=>'POST',
'content'=>$packet
)
)
);
return file_get_contents($url, 0, $ctx);
}
Run Code Online (Sandbox Code Playgroud) 我开发了一个java代码,使用URL和HttpUrlConnection将以下cURL转换为java代码.卷曲是:
curl -i 'http://url.com' -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{"auth": { "passwordCredentials": {"username": "adm", "password": "pwd"},"tenantName":"adm"}}'
Run Code Online (Sandbox Code Playgroud)
我编写了这段代码,但它始终给出了HTTP代码400错误的请求.我找不到遗漏的东西.
String url="http://url.com";
URL object=new URL(url);
HttpURLConnection con = (HttpURLConnection) object.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setRequestProperty("Content-Type", "application/json");
con.setRequestProperty("Accept", "application/json");
con.setRequestMethod("POST");
JSONObject cred = new JSONObject();
JSONObject auth = new JSONObject();
JSONObject parent = new JSONObject();
cred.put("username","adm");
cred.put("password", "pwd");
auth.put("tenantName", "adm");
auth.put("passwordCredentials", cred.toString());
parent.put("auth", auth.toString());
OutputStreamWriter wr = new OutputStreamWriter(con.getOutputStream());
wr.write(parent.toString());
wr.flush();
//display what returns the POST request
StringBuilder sb = new StringBuilder(); …Run Code Online (Sandbox Code Playgroud) 我最近开始为我的VC ++项目使用libCurl。我一直在想:curl创建者免费发布整个库的动机是什么?
纯粹是为了帮助他们的开发人员吗?这是我最近使用的最好的开源库之一。(Python和R编程语言除外)。
项目cURL是完全免费和开放的。没有人会因全时卷曲而得到报酬。我们自愿这样做,主要是在业余时间。有时公司会付钱给单个开发人员来处理curl,但这取决于每个公司和开发人员。这不受项目的控制或监督。
当我使用curlvia POST和set时CURLOPT_POSTFIELD,我必须urlencode或任何特殊格式?
例如:如果我想发布2个字段,第一个和最后一个:
first=John&last=Smith
Run Code Online (Sandbox Code Playgroud)
curl应该使用的确切代码/格式是什么?
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$reply=curl_exec($ch);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud) 谢谢阅读.
我是iOS新手,我正在尝试使用multi-part form encodingiOS 上传图片和文字.
该curl等值是这样的:curl -F "param1=value1" -F "param2=@testimage.jpg" "http://some.ip.address:5000/upload"
curl上面的命令返回预期的正确响应JSON.
问题: 我一直收到HTTP 400请求,这意味着我在编写HTTP POST Body时出错了.
我做了什么: 作为一些参考,我尝试了 Flickr API iOS应用"POST尺寸太大了!" 和目标C:如何使用HTTP POST上传图像和文本?.但是,我一直在获得HTTP 400.
我尝试了ASIHttpRequest但在那里有一个不同的问题(回调永远不会被调用).但是,我没有进一步调查,因为我听说开发人员已停止支持该库:http://allseeing-i.com/ [request_release] ;
有人可以帮帮我吗?
我在mac OS X终端中使用curl来提取文件,并希望给它们不同的名称.有没有办法指定名称,例如使用curl时的"另存为"功能?
谢谢
我希望对另一台服务器上的另一个脚本发出一个简单的GET请求.我该怎么做呢?
在一种情况下,我只需要请求外部脚本而无需任何输出.
make_request('http://www.externalsite.com/script1.php?variable=45'); //example usage
Run Code Online (Sandbox Code Playgroud)
在第二种情况下,我需要获取文本输出.
$output = make_request('http://www.externalsite.com/script2.php?variable=45');
echo $output; //string output
Run Code Online (Sandbox Code Playgroud)
说实话,我不想乱用CURL,因为这不是CURL的工作.我也不想使用http_get,因为我没有PECL扩展.
fsockopen会工作吗?如果是这样,如何在不读取文件内容的情况下执行此操作?没有其他办法吗?
谢谢大家
我应该补充一下,在第一种情况下,我不想等待脚本返回任何内容.据我所知,file_get_contents()会等待页面完全加载等?
我正在尝试使用PHP和cURL执行DELETE http请求.
我已经阅读过如何在很多地方做到这一点,但似乎没有什么对我有用.
我是这样做的:
public function curl_req($path,$json,$req)
{
$ch = curl_init($this->__url.$path);
$data = json_encode($json);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $req);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: ' . strlen($data)));
$result = curl_exec($ch);
$result = json_decode($result);
return $result;
}
Run Code Online (Sandbox Code Playgroud)
然后我继续使用我的功能:
public function deleteUser($extid)
{
$path = "/rest/user/".$extid."/;token=".$this->__token;
$result = $this->curl_req($path,"","DELETE");
return $result;
}
Run Code Online (Sandbox Code Playgroud)
这给了我HTTP内部服务器ERROR.在我的其他函数中使用与GET和POST相同的curl_req方法,一切顺利.
那么我做错了什么?