質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

Q&A

解決済

1回答

1307閲覧

Xサーバー上のサーバーサイドプログラムでプロキシ経由を実現したい

takadaka49

総合スコア2

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

0グッド

0クリップ

投稿2021/05/05 07:43

編集2021/05/06 11:20

Xサーバー+CRON+pythonの実行環境でスクレイピングを考えています。
スクレイピング自体は成功していますが、秘匿のためプロキシを経由させたいのですが、
pythonのコードにプロキシを追加しただけでは動きませんでした。

ローカルPC上からプロキシ経由させた場合は成功しています。
Xサーバー上で実行した場合にプロキシ経由だとエラーになります。

どなたか原因がわかりましたらご教授ください。
コードですが、問題点がわかりやすいようにジコログさんが作成されたサンプルで記載します。

python

1 2import requests 3from bs4 import BeautifulSoup 4 5URL = "https://www.cman.jp/network/support/go_access.cgi" 6USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36" 7 8proxies = { 9 'http':'https://140.227.65.129:58888', 10 'https':'https://140.227.65.129:58888' 11} 12 13headers = {"User-Agent": USER_AGENT} 14 15resp = requests.get(URL, proxies=proxies, headers=headers, timeout=10) 16resp.encoding = 'utf8' 17soup = BeautifulSoup(resp.text, "html.parser") 18 19ip = soup.find(class_="outIp").text 20 21print(ip) 22

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2021/05/05 08:31

・どのようなコードですか? ・どのようなエラーですか?
CHERRY

2021/05/06 01:28 編集

ssh でログインして、コマンドラインから実行するとどうなりますか?
takadaka49

2021/05/06 09:04 編集

ご連絡が遅れ申し訳ありません。 エラーは下記の内容です。 check_hostname requires server_hostname
takadaka49

2021/05/06 05:24

SSHでも実行してみましたが同様のエラーが発生します。
takadaka49

2021/05/06 05:38

ちなみにですが ‘http://’と‘https ://’を消せば解消するとの記事がありまあすが、消すと Proxy URL had no scheme と別なお叱りを受けます。
CHERRY

2021/05/06 07:37 編集

「質問への追記・修正の依頼」蘭は、インデントが消えるので、コードは,質問を編集してマークダウンを利用して記載していただけないでしょうか。 コマンドラインでも同様ということですが、シェルで環境変数 HTTP_PROXY や HTTPS_PROXY を設定して、プログラムでは、PROXY を設定しないで、コマンドラインで実行するとどうなりますか? また、別のプロキシを設定した場合は、状況が変わりますか?
takadaka49

2021/05/06 09:46 編集

ありがとうございます。 環境変数に書きこんでみましたが、改善されません。requestsからproxyの部分を消したため、異状なくxサーバーのアドレスが表示されました。 プロキシを変えても変わりはありません。
takadaka49

2021/05/06 11:11

ありがとうございます。 ローカルPC上で実行した場合はプロキシのアドレスに変更されていますので、 記述に間違いはないと思います。
guest

回答1

0

自己解決

時間がかかりましたがいろいろ調べたところ、ライブラリのバグが原因でした。
python3.9で実行していましたが、urllib3のヴァージョンを1.25.11にダウングレードすることで成功しました。
お騒がせいたしました。

投稿2021/05/11 06:31

takadaka49

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問