我想批量提POST一批网址到bitly.com 写了如下代码为什么不正确,大家帮忙看看, 我是初学者

2013-02-01 12:05:18 +08:00
 yeshang
<?php
$post_data = array();
$post_data['longUrl'] = "http://www.baidu.com";
$post_data['note'] = "baidu.com";
$post_data['private'] = "false";
$post_data['title'] = "Baidu Search engine";

$ch = curl_init('https://bitly.com/data/beta/save');

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

curl_exec($ch);

?>
4548 次点击
所在节点    PHP
7 条回复
ejin
2013-02-01 12:28:23 +08:00
最简单的方法就是看看返回什么,然后诊断,不过看你这个提交没有带上来源页吧。很容易被判断成外站提交的。
Part
2013-02-01 12:52:35 +08:00
<?php
$post_data = array();
$post_data['longUrl'] = "http://www.baidu.com";
$post_data['note'] = "baidu.com";
$post_data['private'] = "false";
$post_data['title'] = "Baidu Search engine";

$ch = curl_init('https://bitly.com/data/beta/save');

///////////////////////////////////////////////////

$temp = '';
foreach ($post_data as $k=>$v){
$temp.= "$k=".utf8_encode($v)."&";
}
$post_data=substr($temp,0,-1);


///////////////////////////////////////////////////

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

curl_exec($ch);

?>
hulk
2013-02-01 14:59:35 +08:00
<?php
$post_data = array();
$post_data['longUrl'] = "http://www.baidu.com";
$post_data['note'] = "baidu.com";
$post_data['private'] = "false";
$post_data['title'] = "Baidu Search engine";

$ch = curl_init('https://bitly.com/data/beta/save');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($ch, CURLOPT_TIMEOUT, 30);//可不能让我等半天好么
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

$re=curl_exec($ch);
if (curl_errno($ch)) {
echo 'Errno'.curl_error($ch);//捕抓异常
}
curl_close($ch); // 关闭CURL会
var_dump($re);

https post跟普通的post有点不一样,需要检查证书,url_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);跳过...
还有这个网站有点慢.3秒还一堆超时
yeshang
2013-02-02 20:56:04 +08:00
@hulk
@Part 感谢已发送. 但是我这边一直都是返回403, 估计需要登入cookie或者什么.太难了.
laoyuan
2013-02-02 21:01:51 +08:00
一开始都难,记住,just do it!
http://v2ex.com/t/57864
road2stat
2013-02-04 03:09:02 +08:00
bitly,用 API 会比较好 。。。

http://dev.bitly.com/

该厂对数据这些还是持相对开放的态度,对开发者也比较友好。
hulk
2013-02-16 14:58:48 +08:00
@yeshang 403就是权限问题了...如果需要cookie认证,curl也可以带上文

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/59458

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX