有一个接口urlhttps://sendcloud.sohu.com/webapi/list.create.json官方给的文档是这样的*请求接口(建议使用post请求,注意不要使用multipart-post):/list.create*参数说明:参数类型是否必须说明描述api_userstring是请求SC认证账号api_keystring是请求SC认证密码addressstring是列表别称地址例如:developers@sendcloud.org或者Developersnamestring是列表名称不能大于16个中文字descriptionstring否列表描述不能大于85个中文字符于是,我在命令行输入这样:curl-d"api_user=*&api_key=*&address=runnerleer@maillist.sendcloud.org&name=demo&description=thisisademolist"https://sendcloud.sohu.com/webapi/list.create.json提交正确,创建了一个邮件列表。尝试构造表单提交,同样提交正确html 但是,用PHPCURL提交,就出了问题,代码如下:phpheader('Content-Type:text/html;charset=utf-8');$ch=curl_init();curl_setopt($ch,CURLOPT_HTTPAUTH,CURLAUTH_BASIC);curl_setopt($ch,CURLOPT_URL,'https://sendcloud.sohu.com/webapi/list.create.json');curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);curl_setopt($ch,CURLOPT_AUTOREFERER,1);curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);$data=array('api_user'=>'*','api_key'=>'*','address'=>'runnerlee@maillist.sendcloud.org','name'=>'Abao新建的测试邮件列表','description'=>'这是Abao新建的测试邮件列表',);curl_setopt($ch,CURLOPT_POSTFIELDS,$data);curl_setopt($ch,CURLOPT_POSTFIELDS,$data);if(false===$result=curl_exec($ch)){echo'false:
';}var_dump(json_decode($result,true));curl_close($ch);这时候总是返回badusername/password,如果直接在浏览器打开接口的url也是现实badusername/password。所以我猜测是数据没有提交上去。百度了说设置curl_setopt($ch,CURLOPT_VERIFYHOST,true),但我一设置就报错Notice:curl_setopt():CURLOPT_SSL_VERIFYHOSTnolongeracceptsthevalue1,value2willbeusedinsteadinF:\www\sendCloud\demo.phponline13更加奇怪的是用同样的代码,调用/mail.send.json也就是发送邮件的接口,却能够正常提交。请各位帮忙看看,十分感谢!
有只小跳蛙
相关分类