亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 8240 | 回復: 9
打印 上一主題 下一主題

請教php中用curl訪問google tts [復制鏈接]

論壇徽章:
18
辰龍
日期:2014-05-21 21:01:4115-16賽季CBA聯(lián)賽之深圳
日期:2016-12-23 13:51:3815-16賽季CBA聯(lián)賽之北控
日期:2016-11-28 18:26:3815-16賽季CBA聯(lián)賽之佛山
日期:2016-11-03 11:18:5815-16賽季CBA聯(lián)賽之遼寧
日期:2016-07-10 16:09:4115-16賽季CBA聯(lián)賽之江蘇
日期:2016-02-20 23:09:202015亞冠之塔什干棉農(nóng)
日期:2015-08-17 19:49:492015年亞洲杯之日本
日期:2015-04-30 01:24:342015年亞洲杯之約旦
日期:2015-04-01 00:37:182015年亞洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40處女座
日期:2014-05-25 10:34:0020周年集字徽章-年
日期:2023-04-23 11:17:52
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2015-07-20 14:57 |只看該作者 |倒序瀏覽
大家好!
我有一個問題向大家請教。

我的服務器在公司防火墻之內(nèi),需要通過http代理上網(wǎng),所以我在原來可以正常執(zhí)行的php程序中加了curl實現(xiàn)通過http代理上網(wǎng)的代碼。
但是發(fā)現(xiàn)并不能正常執(zhí)行。請大家?guī)臀铱纯村e在哪里呢?
  1. <?php
  2. header("Content-Type: text/html; charset=UTF-8");
  3. date_default_timezone_set('PRC');
  4. $cweekday = array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
  5. $now = getdate(time());
  6. $cur_wday=$now['wday'];
  7. $cur_mon=$now['mon'] - 1;
  8. $cntime = date("現(xiàn)在時刻:Y年n月j日$cweekday[$cur_wday],G點i分。");
  9. echo $cntime;

  10. $newfname = './tmp/now.wmv';
  11. $creqBaseURL = 'http://translate.google.cn/translate_tts?ie=UTF-8&q=' . $cntime . '&tl=zh-CN';

  12. //這里開始是新加的內(nèi)容。
  13. $ch = curl_init();
  14. $timeout = 5;
  15. curl_setopt($ch, CURLOPT_URL, $creqBaseURL);
  16. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  17. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  18. curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
  19. curl_setopt($ch, CURLOPT_PROXY, "sg.proxy.alcatel-lucent.com");
  20. curl_setopt($ch, CURLOPT_PROXYPORT, 8000);
  21. curl_setopt($ch, CURLOPT_PROXYUSERPWD, "username:password");
  22. curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
  23. $file_contents = curl_exec($ch);
  24. //這里結束是新加的內(nèi)容

  25. $cremote_file = fopen($file_contents, "rb");  //原來這句是$cremote_file = fopen($creqBaseURL, "rb");

  26. $newf = fopen($newfname, "wb");
  27. if ($newf){
  28.   while(!feof($cremote_file)){
  29.    fwrite($newf, fread($cremote_file, 1024 * 8),1024 * 8);
  30.   }
  31. fclose($newf);
  32. }
  33. fclose($cremote_file);

  34. curl_close($ch);
  35. echo '<embed loop="1" autostart="true" hidden="true" src=./tmp/now.wmv />';
  36. ?>
復制代碼
php報的錯是:[Mon Jul 20 14:42:48 2015] [error] [client 192.11.236.118] PHP Warning:  fopen(): Filename cannot be empty in /var/www/html/1.php on line 34

為什么會出這個錯呢?
請指教。
謝謝大家!

論壇徽章:
13
雙魚座
日期:2013-10-23 09:30:05數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2016-04-20 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-03-09 06:20:002015亞冠之塔什干火車頭
日期:2015-11-02 10:07:452015亞冠之德黑蘭石油
日期:2015-08-30 10:07:07數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2015-08-28 06:20:00數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2015-08-05 06:20:002015年迎新春徽章
日期:2015-03-04 09:57:09辰龍
日期:2014-12-03 14:45:52酉雞
日期:2014-07-23 09:46:23亥豬
日期:2014-03-13 08:46:22金牛座
日期:2014-02-11 09:36:21
2 [報告]
發(fā)表于 2015-07-21 10:13 |只看該作者
$cremote_file = fopen($file_contents, "rb");  這句有問題,$file_contents 不是url不是文件名

論壇徽章:
154
2022北京冬奧會紀念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16賽季CBA聯(lián)賽之深圳
日期:2022-11-02 14:02:4515-16賽季CBA聯(lián)賽之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16賽季CBA聯(lián)賽之八一
日期:2023-11-04 19:23:5115-16賽季CBA聯(lián)賽之廣夏
日期:2023-12-13 18:09:34
3 [報告]
發(fā)表于 2015-07-21 20:12 來自手機 |只看該作者
調(diào)試一下,究竟fopen的是什么內(nèi)容

論壇徽章:
18
辰龍
日期:2014-05-21 21:01:4115-16賽季CBA聯(lián)賽之深圳
日期:2016-12-23 13:51:3815-16賽季CBA聯(lián)賽之北控
日期:2016-11-28 18:26:3815-16賽季CBA聯(lián)賽之佛山
日期:2016-11-03 11:18:5815-16賽季CBA聯(lián)賽之遼寧
日期:2016-07-10 16:09:4115-16賽季CBA聯(lián)賽之江蘇
日期:2016-02-20 23:09:202015亞冠之塔什干棉農(nóng)
日期:2015-08-17 19:49:492015年亞洲杯之日本
日期:2015-04-30 01:24:342015年亞洲杯之約旦
日期:2015-04-01 00:37:182015年亞洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40處女座
日期:2014-05-25 10:34:0020周年集字徽章-年
日期:2023-04-23 11:17:52
4 [報告]
發(fā)表于 2015-07-21 22:32 |只看該作者
對,這句看起來是錯了,但是應該怎么改呢?

回復 2# bikong0411


   

論壇徽章:
13
雙魚座
日期:2013-10-23 09:30:05數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2016-04-20 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-03-09 06:20:002015亞冠之塔什干火車頭
日期:2015-11-02 10:07:452015亞冠之德黑蘭石油
日期:2015-08-30 10:07:07數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2015-08-28 06:20:00數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2015-08-05 06:20:002015年迎新春徽章
日期:2015-03-04 09:57:09辰龍
日期:2014-12-03 14:45:52酉雞
日期:2014-07-23 09:46:23亥豬
日期:2014-03-13 08:46:22金牛座
日期:2014-02-11 09:36:21
5 [報告]
發(fā)表于 2015-07-22 10:05 |只看該作者
回復 4# bikkuri


    你自己fopen遠程url或者直接curl就可以了啊

論壇徽章:
18
辰龍
日期:2014-05-21 21:01:4115-16賽季CBA聯(lián)賽之深圳
日期:2016-12-23 13:51:3815-16賽季CBA聯(lián)賽之北控
日期:2016-11-28 18:26:3815-16賽季CBA聯(lián)賽之佛山
日期:2016-11-03 11:18:5815-16賽季CBA聯(lián)賽之遼寧
日期:2016-07-10 16:09:4115-16賽季CBA聯(lián)賽之江蘇
日期:2016-02-20 23:09:202015亞冠之塔什干棉農(nóng)
日期:2015-08-17 19:49:492015年亞洲杯之日本
日期:2015-04-30 01:24:342015年亞洲杯之約旦
日期:2015-04-01 00:37:182015年亞洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40處女座
日期:2014-05-25 10:34:0020周年集字徽章-年
日期:2023-04-23 11:17:52
6 [報告]
發(fā)表于 2015-07-22 12:08 |只看該作者
fopen遠程url不行,因為不通過代理服務器上不了網(wǎng)。
直接將curl得到結果保存到文件我試了也不行,但是我覺得是我保存的方法不對,能不能指點一下應該怎么改。

bikong0411 發(fā)表于 2015-07-22 10:05
回復 4# bikkuri
你自己fopen遠程url或者直接curl就可以了啊

論壇徽章:
13
雙魚座
日期:2013-10-23 09:30:05數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2016-04-20 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-03-09 06:20:002015亞冠之塔什干火車頭
日期:2015-11-02 10:07:452015亞冠之德黑蘭石油
日期:2015-08-30 10:07:07數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2015-08-28 06:20:00數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2015-08-05 06:20:002015年迎新春徽章
日期:2015-03-04 09:57:09辰龍
日期:2014-12-03 14:45:52酉雞
日期:2014-07-23 09:46:23亥豬
日期:2014-03-13 08:46:22金牛座
日期:2014-02-11 09:36:21
7 [報告]
發(fā)表于 2015-07-23 11:05 |只看該作者
回復 6# bikkuri
  1. file_put_contents('file',$content);
復制代碼

論壇徽章:
18
辰龍
日期:2014-05-21 21:01:4115-16賽季CBA聯(lián)賽之深圳
日期:2016-12-23 13:51:3815-16賽季CBA聯(lián)賽之北控
日期:2016-11-28 18:26:3815-16賽季CBA聯(lián)賽之佛山
日期:2016-11-03 11:18:5815-16賽季CBA聯(lián)賽之遼寧
日期:2016-07-10 16:09:4115-16賽季CBA聯(lián)賽之江蘇
日期:2016-02-20 23:09:202015亞冠之塔什干棉農(nóng)
日期:2015-08-17 19:49:492015年亞洲杯之日本
日期:2015-04-30 01:24:342015年亞洲杯之約旦
日期:2015-04-01 00:37:182015年亞洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40處女座
日期:2014-05-25 10:34:0020周年集字徽章-年
日期:2023-04-23 11:17:52
8 [報告]
發(fā)表于 2015-07-24 01:39 |只看該作者
謝謝您的幫助。
我改成以下內(nèi)容以后,可以正常工作了。
  1. <?php
  2. header("Content-Type: text/html; charset=UTF-8");
  3. date_default_timezone_set('PRC');
  4. $cweekday = array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
  5. $now = getdate(time());
  6. $cur_wday=$now['wday'];
  7. $cur_mon=$now['mon'] - 1;
  8. $cntime = date("現(xiàn)在時刻:Y年n月j日$cweekday[$cur_wday],G點i分。");

  9. echo $cntime;
  10. $newfname = './tmp/now.wmv';
  11. $creqBaseURL = 'http://translate.google.cn/translate_tts?ie=UTF-8&q=' . $cntime . '&tl=zh-CN';

  12. $ch = curl_init();
  13. $timeout = 120;
  14. curl_setopt($ch, CURLOPT_URL, $creqBaseURL);
  15. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  16. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  17. curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
  18. curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
  19. curl_setopt($ch, CURLOPT_PROXY, "my_proxy_ip:80");
  20. curl_setopt($ch, CURLOPT_PROXYUSERPWD, "user:password");
  21. $cstream = curl_exec($ch);

  22. file_put_contents($newfname, $cstream);

  23. curl_close($ch);
  24. echo '<embed loop="1" autostart="true" hidden="true" src=./tmp/now.wmv />';
  25. ?>
復制代碼
但是并沒有播放出聲音,我查看./tmp/now.wmv的內(nèi)容發(fā)現(xiàn)這個文件的內(nèi)容如下:
  1. <HTML><HEAD>
  2. <TITLE>Access Denied</TITLE>
  3. </HEAD>
  4. <BODY>
  5. <FONT face="Helvetica">
  6. <big><strong></strong></big><BR>
  7. </FONT>
  8. <blockquote>
  9. <TABLE border=0 cellPadding=1 width="80%">
  10. <TR><TD>
  11. <FONT face="Helvetica">
  12. <big>Access Denied (authentication_failed)</big>
  13. <BR>
  14. <BR>
  15. </FONT>
  16. </TD></TR>
  17. <TR><TD>
  18. <FONT face="Helvetica">
  19. Your credentials could not be authenticated: "". You will not be permitted access until your credentials can be verified.
  20. </FONT>
  21. </TD></TR>
  22. <TR><TD>
  23. <FONT face="Helvetica">
  24. This is typically caused by an incorrect username and/or password, but could also be caused by network problems.
  25. </FONT>
  26. </TD></TR>
  27. <TR><TD>
  28. <FONT face="Helvetica" SIZE=2>
  29. <BR>
  30. For assistance, contact your network support team.
  31. </FONT>
  32. </TD></TR>
  33. </TABLE>
  34. </blockquote>
  35. </FONT>
  36. </BODY></HTML>
復制代碼
用戶名和密碼都是正確的,我在瀏覽器里是可以正常返回音頻文件的。
請問是哪里還有問題呢?
另外想問一下php能不能一步一步地跟蹤執(zhí)行,方便看問題出在哪一步的?
謝謝。

bikong0411 發(fā)表于 2015-07-23 11:05
回復 6# bikkuri

論壇徽章:
13
雙魚座
日期:2013-10-23 09:30:05數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2016-04-20 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-03-09 06:20:002015亞冠之塔什干火車頭
日期:2015-11-02 10:07:452015亞冠之德黑蘭石油
日期:2015-08-30 10:07:07數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2015-08-28 06:20:00數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2015-08-05 06:20:002015年迎新春徽章
日期:2015-03-04 09:57:09辰龍
日期:2014-12-03 14:45:52酉雞
日期:2014-07-23 09:46:23亥豬
日期:2014-03-13 08:46:22金牛座
日期:2014-02-11 09:36:21
9 [報告]
發(fā)表于 2015-07-25 09:20 |只看該作者
回復 8# bikkuri


    打log或者var_dump分步去調(diào)試吧

論壇徽章:
18
辰龍
日期:2014-05-21 21:01:4115-16賽季CBA聯(lián)賽之深圳
日期:2016-12-23 13:51:3815-16賽季CBA聯(lián)賽之北控
日期:2016-11-28 18:26:3815-16賽季CBA聯(lián)賽之佛山
日期:2016-11-03 11:18:5815-16賽季CBA聯(lián)賽之遼寧
日期:2016-07-10 16:09:4115-16賽季CBA聯(lián)賽之江蘇
日期:2016-02-20 23:09:202015亞冠之塔什干棉農(nóng)
日期:2015-08-17 19:49:492015年亞洲杯之日本
日期:2015-04-30 01:24:342015年亞洲杯之約旦
日期:2015-04-01 00:37:182015年亞洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40處女座
日期:2014-05-25 10:34:0020周年集字徽章-年
日期:2023-04-23 11:17:52
10 [報告]
發(fā)表于 2015-07-27 17:31 |只看該作者
謝謝您的指點。
我在公司的文檔上看到說如果用CURLOPT_USERAGENT設置user_agent為WGET或者CURL的話,可能免驗證直接代理出去。
  1. 6.1        WGET
  2. Any application that is able to present a user agent string that begins with WGET will be able to access the internet unauthenticated, but governed by the default URL policy.

  3. 6.2        CURL
  4. Any application that is able to present a user agent string that begins with CURL will be able to access the internet unauthenticated, but governed by the default URL policy.
復制代碼
那這個user agent string應該怎么寫呢?
我在網(wǎng)上看到的user agent一般都是"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)",
我把它改成了:
  1. $ch = curl_init();
  2. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  3. curl_setopt($ch, CURLOPT_USERAGENT, 'CURL');
復制代碼
然后訪問google tts,結果代理服務器返回來的錯誤是:
  1. 403. That’s an error.
  2. Your client does not have permission to get URL /translate_tts?ie=UTF-8&q=%E7%8E%B0%E5%9C%A8%E6%97%B6%E5%88%BB%EF%BC%9A2015%E5%B9%B47%E6%9C%8827%E6%97%A5%EF%BC%8C%E6%98%9F%E6%9C%9F%E4%B8%80%EF%BC%8C17%E7%82%B913%E5%88%86%E3%80%82&tl=zh-CN from this server. (Client IP address: 192.11.236.120)
復制代碼
是不是user agent光寫一個CURL不行。亢竺孢要跟什么東西嗎?

bikong0411 發(fā)表于 2015-07-25 09:20
回復 8# bikkuri
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP