dougan1884 2016-11-17 09:53
浏览 47

在python中的Php curl等价物

I have a php curl request which gives me a succesful response. I wanted to covert that in python.

define("uname", "myusername");
define("pwd", "password");
define("turl", "https://mytestapp.com/api/v1/");
$Params = array(
    "subject" => "test subject",
    "contents" => "This is a test case.",
    "requester_id" => "2",
    "channel" => "MAIL",
    "channel_id" => "1" 
);
$json = json_encode($Params);

$ch = curl_init();
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10 );
curl_setopt($ch, CURLOPT_URL, turl);
curl_setopt($ch, CURLOPT_USERPWD, uname.":".pwd);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
if($output=== FALSE) {
    die(curl_error($ch));
}
curl_close($ch);
print_r(json_decode($output, true))

Tried with pycurl using same options of curl but it ended up with no use, it is giving a bad request error. I am unable to trace what is the error there.

import pycurl
import json
import urllib    
params = [{"subject" : "test subject",
    "contents" : "This is a test case.",
    "requester_id" : "2",
    "channel" : "MAIL",
    "channel_id" : "1"  
           }]

json_to_send = json.dumps(params)
curlClient = pycurl.Curl()
curlClient.setopt(curlClient.FOLLOWLOCATION,True)
curlClient.setopt(curlClient.URL, url)
curlClient.setopt(curlClient.MAXREDIRS, 10)
curlClient.setopt(curlClient.USERPWD,       "myusername:mypassword")
curlClient.setopt(curlClient.SSL_VERIFYPEER, False)
curlClient.setopt(curlClient.POSTFIELDS, json_to_send)
curlClient.setopt(curlClient.CUSTOMREQUEST, "POST")
curlClient.setopt(curlClient.POST, True)
curlClient.setopt(curlClient.FAILONERROR, True)
curlClient.perform()

Is there any better alternate to replicate same in python

Thanks in adavance

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
    • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
    • ¥16 mybatis的代理对象无法通过@Autowired装填
    • ¥15 可见光定位matlab仿真
    • ¥15 arduino 四自由度机械臂
    • ¥15 wordpress 产品图片 GIF 没法显示
    • ¥15 求三国群英传pl国战时间的修改方法
    • ¥15 matlab代码代写,需写出详细代码,代价私
    • ¥15 ROS系统搭建请教(跨境电商用途)
    • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。