• 締切済み

curlのエラー

fedora12を使っています。rootで  curl -L URL   (URLのページはテキストのみのページです。) を実行して、標準出力にURLのページのテキストを出力しようとしたのですが、下記のメッセージが出てきて、出来ませんでした。   % Total % Received % Xferd Average Speed Time Time Time Current   Dload Upload Total Spent Left Speed   0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0  curl: (7) couldn't connect to host http_proxy、HTTP_PROXYにはプロキシサーバのアドレスが正しく設定されていました。 何が原因か教えて頂けないでしょうか? よろしくお願い致します。

みんなの回答

  • notnot
  • ベストアンサー率47% (4852/10267)
回答No.4

~/.bashrc は /etc/bashrc を読み込んでいますから、その前で設定しても /etc/bashrc やそこから呼び出される /etc/profile.d/*.sh で上書きされるかも知れないです。 ~/.bashrc の末尾で設定しましたか? あと、http_proxyの話ではないですが、ユーザも前の人を引き継いだのであれば、 ~/.curlrc が存在しないかも確認が必要。

apll
質問者

お礼

補足欄で書き忘れたのでこちらで失礼します。 > ~/.curlrc > が存在しないかも確認が必要。 存在しませんでした。

apll
質問者

補足

~/.bashrc の末尾で設定したら、http_proxyの値が変更されました。echo $http_proxyで見ると、  新しいIPアドレス:新しいポート番号 になっていました。ありがとうございます! ただし、http_proxyの値が正しくなったので、 --proxy1.0 PROXYADDR:PORT のオプションを無にして、curl -L URL を実行してみたところ、  curl: (7) couldn't connect to host というエラーで、URLのページの内容が表示されませんでした。 何が問題なのでしょうか…

全文を見る
すると、全ての回答が全文表示されます。
  • notnot
  • ベストアンサー率47% (4852/10267)
回答No.3

>URLのページの内容が標準出力出力されました ということは、やはり、http_proxy のセットが間違っていると言うことですね。 exportしてないとか?

apll
質問者

補足

コマンドで、 export http_proxy="http://プロキシのIPアドレス:ポート番号" を実行して、その後、echo $http_proxy で確認して、それからcurlを実行したのですが、それでは駄目でした。 このPCは元は他の人が使っていたもので、プロキシのIPが既にどこかで設定されていて、そのIPを変更したかったのですが、.bash_profileや.bashrc(bashを使っています)、「デスクトップ」メニューの「設定」-「ネットワークのプロキシ」にもIPアドレスは設定されていなくて、どこで設定されているのか分からず、変更することが出来ませんでした。 ちなみに、上記のようなexport文を.bash_profileに書き加えても、「ネットワークのプロキシ」に新しいIPアドレスをにゅうりょくしても、http_proxyの値は元々設定されているアドレスのままでした。 このせいでしょうか? そうだとしたら、プロキシのIPアドレスを設定しなおすにはどうすればいいのでしょうか??

全文を見る
すると、全ての回答が全文表示されます。
  • notnot
  • ベストアンサー率47% (4852/10267)
回答No.2

No1です。 エラーメッセージを見ると、curl で指定しているURLのミスが原因ではないですね。これが間違っていればproxyがエラーのHTMLを返すはず。 couldn't connect to host ということは、proxyサーバーに接続できないということです。 curl --proxy1.0 PROXYADDR:PORT -L URL で、どうですか?

apll
質問者

お礼

ありがとうございます! URLのページの内容が標準出力出力されました。

全文を見る
すると、全ての回答が全文表示されます。
  • notnot
  • ベストアンサー率47% (4852/10267)
回答No.1

1.ネットワークがあなたの思っている通りの構成である 2.http_proxyという環境変数にプロキシーサーバーのURLが正しくセットされている 3.curl -L URL のURLが正しい であれば、取得できるはずです。出来ないとなると、上記のどれかが間違っているわけですが、どれが間違っているのかは質問文には手がかりがありません。 上記の1-3を具体的に書くとアドバイスが得られるでしょう。

apll
質問者

補足

2については、echo $http_proxyを実行すると、  http://IPアドレス:8080 と表示されて、IPアドレスの部分にはプロキシサーバの正しいアドレスが表示されていました。このアドレスはWindowsのFirefoxでも設定していて、Firefoxは正常に動いているので、間違いないと思います。 3については、このURLをFirefoxでアドレスバーに入力して、このページを見ることが出来るので、URLは間違いないと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHPのフレームワーク

    FuelPHPについて質問です。 http://press.nekoget.com/fuelphp_doc/installation/instructions.html 上記ページに記載のFuelPHPのインストール方法 【$ curl get.fuelphp.com/oil | sh】 というコマンドをvps上で叩いたのですがうまく行きません。 実際に、コマンドをうってみると % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 244 100 244 0 0 320 0 --:--:-- --:--:-- --:--:-- 1564 sh: line 6: sudo: command not found sh: line 7: sudo: command not found と上記のような警告がでます。 もちろんインストールはできていません。 なにかしらのバイナリがインストールされていないのかどうか・・・。 このような現象に遭遇したかたで解決されたかたご教授ください。 よろしくおねがいします。

    • ベストアンサー
    • PHP
  • プロキシサーバ経由でTwitter APIを使用

    レンタルサーバーで、PHPを使用したTwitterの自作botを作成しています。 どんなことが出来るのか、というのを色々いじって遊んでいるのですが、 サーバーから直接Twitter APIを使用するときには正常に動いているのに 間にプロキシサーバーを噛ませると正常に動作しないことに気付きました。 ********* ▼プログラム(twitteroauth.php内のfunction http)▼   (前略) curl_setopt($ci, CURLOPT_URL, $url); curl_setopt($ci, CURLOPT_HTTPPROXYTUNNEL, true); curl_setopt($ci, CURLOPT_PROXY, 'http://xxx.xxx.xxx.xxx'); curl_setopt($ci, CURLOPT_PROXYPORT, '8080'); $response = curl_exec($ci); if ($response === false) { エラーログ出力(curl_error($ci)); }   (後略) ********* 上記のようなプログラムを追加して実行すると、 以下のようなエラーログが出力されました。 「Received HTTP code 0 from proxy after CONNECT」 ネットで調べて、SSLが関係しているのでは?というところまでは調べられたのですが、 解決方法が分からず困っております。 詳しい方、ご教授いただけないでしょうか。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • function で json を POST

    37行目に PHP Fatal error: Cannot redeclare sendPostData() と出るのをどのように修正すれば、sendPostData がうまく回りますか。 <?php $total = 110; $test = 2; for ( $i = 0; $i <= ceil($total/100); $i++){ $data = array ( "filters" => array ( array ( "field" => "live_status", "type" => "equal", "value" => "past", ), array ( "field" => "start_time", "from" => "2014-03-12 00:00:00", "to" => "2014-03-13 00:00:00", "type" => "range", ) ), "from" => $test*$i, "issuer" => "apiguide", "join" => array ( 0 => "cmsid", 1 => "title", 2 => "community_id", 3 => "start_time", 4 => "live_end_time", 5 => "comment_counter", 6 => "score_timeshift_reserved", 7 => "provider_type", 8 => "tags", 9 => "member_only"), "order" => "desc", "query" => "一般(その他)", "reason" => "ma9", "search" => array ( "tags" ), "service" => array ( "live" ), "size" => $test, "sort_by" => "_live_recent", ); $encoded = json_encode($data, JSON_UNESCAPED_UNICODE); $url_send ="http://api.search.nicovideo.jp/api/"; function sendPostData($url, $post){ $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS,$post); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-type: application/json; charset=UTF-8')); $result = curl_exec($ch); curl_close($ch); return $result; } echo " " . sendPostData($url_send, $encoded); } ?>

    • ベストアンサー
    • PHP
  • js 現在のページURLのみ表示しない方法

    ツイッターのタイムラインを自分のサイトに表示しています。 ツイートテキスト内のURLは全てクリッカブルになっています。 ツイート内に現在表示しているページのURLがたまたま存在する場合、 リンクが飛んでも意味がないので、そのURLを非表示にしたいと思います。 return '<span class="jta-tweet-text">' + tweetText + '</span>'; ここへlocation.hrefや.replaceをつかって、現在のページURLのみ消すことは出来ないかと試したのですがうまくいきませんでした。タイムラインを設置したいページは複数あります。 初心者ですので、初歩的なこともわかりません。 もし可能であれば、おしえてください。

  • corega BAR SW-4Pの設定ができない

    ルータを使ってインターネットの接続できません。http://192.168.1.1にアクセス するとネットワークパスワードの設定画面が出てくるのでユーザー名の欄にrootと入力しても設定画面が表示されません。どうしてでしょうか? ちなみに(1)ブラウザのキャッシュのクリア済み、PROXY不使用       (2)何回かルータの電源を落として再挑戦しました。       (3)MS-DOSプロントで「ping 192.168.1.1」と入力すると以下のメッセージが出ました。 Replay from 192.168.1.1: bytes=32 time=1ms TTL=250 Replay from 192.168.1.1: bytes=32 time=1ms TTL=250 Replay from 192.168.1.1: bytes=32 time=1ms TTL=250 Replay from 192.168.1.1: bytes=32 time=1ms TTL=250 Ping statistics for 192.168.1.1: Packetes: Sent = 4, Received =4, Lost =0 (0% loss), Approximate round trip times in milli-seconds: Minimu = 1ms, Maximum = 1ms, Average = 1ms

  • ルータ壊れてしまって(2)

    1階から Microsoft(R) Windows 98 (C)Copyright Microsoft Corp 1981-1999. C:\WINDOWS>ping 192.168.0.2 Pinging 192.168.0.2 with 32 bytes of data: Reply from 192.168.0.2: bytes=32 time=5ms TTL=128 Reply from 192.168.0.2: bytes=32 time=3ms TTL=128 Reply from 192.168.0.2: bytes=32 time=2ms TTL=128 Reply from 192.168.0.2: bytes=32 time=3ms TTL=128 Ping statistics for 192.168.0.2: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 2ms, Maximum = 5ms, Average = 3ms 異常ありませんでした。 2階から C:\WINDOWS>ping 192.168.0.1 Pinging 192.168.0.1 with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 192.168.0.1: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms PINGは、通りませんでした。 ルータ壊れてしまって(3)へ 関連URL:http://www.okweb.ne.jp/kotaeru.php3?q=423352

  • パフォーマンスログ

    現在、色々なサーバにパフォーマンスモニタを設定して始めています。 そして、各日のログを取得しそれによって統計を取っている段階です ただし、最近は特にサーバーに問題が無い為、パフォーマンスログに特に変動が無く、統計から「正常値」の算出自体はできるのですが「異常値」がいくつになるのかが判別できません。(本当はいいことなんですが。) 取得しているログは \Cache  \Data Map Hits % \Memory  \Available Bytes  \Cache Bytes  \Page Faults/sec  \Page Reads/sec  \Pages Input/sec  \Pages/sec  \Pool Nonpaged Bytes  \Pool Paged Bytes  \Transition Faults/sec \Network Interface(Intel[R] PRO Adapter)  \Bytes Received/sec  \Bytes Total/sec  \Packets/sec \Paging File(_Total)\  % Usage \PhysicalDisk(_Total)  \% Disk Time  \% Idle Time  \Avg. Disk Queue Length  \Current Disk Queue Length  \Disk Reads/sec  \Disk Writes/sec \Process(_Total)  \% Processor Time  \IO Other Bytes/sec  \IO Read Bytes/sec  \IO Write Bytes/sec \Processor(_Total)  \Interrupts/sec \Server Work Queues(0)  \Queue Length \Server  \Bytes Received/sec  \Bytes Total/sec  \Bytes Transmitted/sec  \Pool Nonpaged Bytes  \Pool Paged Bytes \System  \Context Switches/sec  \Processor Queue Length \TCP  \Segments Received/sec  \Segments Sent/sec これらの異常値を算出するには統計を録った正常値外の数値とする以外に、どう算出すればよいのでしょうか。 宜しくお願いいたします。

  • phpのcurlでのエラー

    ローカル、IIS8.5+PHP5.6環境で、PHPのcurlを用いてPDFファイルをアップロードするとエラーが出ます。 エラーは以下のようなものです。 === {"files":[{"name":"1425191187-473","size":221,"type":"multipart\/form-data; boundary=------------------------c4894a433c24bba9","error":"Filetype not allowed"}]} === どの点が問題なのかご教示いただけないでしょうか? PHP5.6の設定では、php.iniの「extension=php_curl.dll」の「;」のみを外しました。 また、ローカルPCにダウンロードしたcurl.exeコマンドからはアップロードできることを確認しました。 コマンド:「curl -F "files[]=@C:\Users\***\Desktop\***.pdf;type=application/pdf http://127.0.0.1/***/upload」 アップロードできないPHPソースは以下となります。 === $oname = '@C:\Users\***\Desktop\***.pdf;type=application/pdf'; $files = array( 'files[]' => $oname ); $url = 'http://127.0.0.1/***/upload'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8'); curl_setopt($ch, CURLOPT_POSTFIELDS, $files); curl_exec($ch); curl_close($ch); ===

    • 締切済み
    • PHP
  • VB6でテレビ番組表HTMLの保存

    VB6の以下のプログラムで下記URLのテレビ番組表を保存しようとしたのですが、うまくできませんでした。ソースを開いてみるとEUC-JPとなっていまして、これが原因かと思うのですが、保存するにはどうしたら良いでしょうか? よろしくお願いします。 ■URL http://tv.nikkansports.com/tv.php?site=007&mode=06&category=g&area=025&template=time&sdate=20081226&lhour=24&shour=5&arg=05 ■プログラム Private Sub Command1_Click() Dim strURL As String ' 取得URL Dim strFileName As String ' ファイル名 ' URLとファイル名を代入する strURL = Text1.Text strFileName = Text2.Text ' 指定されたURLのドキュメントをファイルに出力する Open strFileName For Output As #1 Print #1, Inet1.OpenURL(strURL) Close #1 MsgBox strURL & "を" & strFileName & "に出力しました" End Sub

  • Webサーバーの構築について

    http://www.kent-web.com/www/index.html でちょっとやってみようかな、と思いやってみると案外うまく設定ができたのでサーバー構築完了の一歩手前まできました。この際だから構築しちゃおうと思い、設定をしたのですがうまくいきません。 どうも、 http://www.kent-web.com/www/anhttpd/www3.html でつまずいてるみたいです。 サーバーを構築する際のポートの80番ポートは空けました。また、ダイナミックDNSもとりました。コマンドプロンプトで 「ping 取得したダイナミックDNS」 をを入れると、 Pinging **********.ddo.jp [***.*.***.***] with 32 bytes of data: Reply from ***.*.***.***: bytes=32 time=1ms TTL=128 Reply from ***.*.***.***: bytes=32 time=1ms TTL=128 Reply from ***.*.***.***: bytes=32 time=1ms TTL=128 Reply from ***.*.***.***: bytes=32 time=1ms TTL=128 Ping statistics for ***.*.***.***: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 1ms, Maximum = 1ms, Average = 1ms とでました。(0% loss)が表示されているのでOKなはずなのですが、いざページを開こうとしても開けません。 それに、 Minimum = 1ms, Maximum = 1ms, Average = 1ms の部分なのですが、見本の設定だと Minimum = 139ms, Maximum = 144ms, Average = 140ms です。数字が違うのですがこのせいでしょうか? 不明な点があったら指摘してください。 よろしくお願いします。 ルーターはNEC WR7600H フレッツADSL契約でADSLモデムMNIII OS・・・XP