現在のp2は●のログインにプロキシを利用しないようになっていますが、これだとプロキシ経由でなければネットに繋げない環境ではp2は●ログインができません。

-この情報の対応バージョンは、p2 1.0.2 ・・・ですね。

まずlogin2ch.incの13行目を

 	global $p2version, $prefdir, $idpw2ch_php, $sid2ch_php;

とあるのを

 	global $p2version, $prefdir, $idpw2ch_php, $sid2ch_php, $proxy;

と、$proxyを追加。
さらに34行目から

 	if(extension_loaded('curl')){ //PHPのCURLが使えるなら
 		$ch = curl_init();
 		$fp = fopen ($tempfile, "w");
 		curl_setopt ($ch, CURLOPT_FILE, $fp);
 		curl_setopt ($ch, CURLOPT_URL, $auth2ch_url);
 		curl_setopt ($ch, CURLOPT_HEADER, 0);
 		curl_setopt ($ch, CURLOPT_HTTPHEADER, array($x_2ch_ua));
 		curl_setopt ($ch, CURLOPT_USERAGENT, $dolib2ch);
 		curl_setopt ($ch, CURLOPT_POST, 1);
 		curl_setopt ($ch, CURLOPT_POSTFIELDS, $postf);
 		if($proxy['use']) //この行と
 			curl_setopt ($ch, CURLOPT_PROXY, $proxy['host'].':'.$proxy['port']); // この行の二行追加
 		curl_exec ($ch);
 		curl_close ($ch);
 		fclose ($fp);
 	}else{
 		$curlrtn=1;
 		$curlcmd = "curl -H \"X-2ch-UA: p2/{$p2version}\" -A {$dolib2ch} -d ID={$login2chID} -d PW={$login2chPW} -o {$tempfile}  {$auth2ch_url}";
 		if($proxy['use']) // ここと
 			$curlcmd .= ' -x '.$proxy['host'].':'.$proxy['port']; //ここの二行も。

と2箇所追加。これで●ログイン時にプロキシが使われるようになる。

これでcurlのみインストールされている環境、PHPでcurlが利用可能に
なっている環境双方に対応できます。

また、●ログインにプロキシを使うかどうか選べるようにしたい場合、conf_user.phpの$proxy['port']の後ろあたりに

 $proxy['uselogin2ch'] = 0;	// (0) 2chログインにプロキシを利用(する:1, しない:0)

といった変数を追加し、先の二箇所の

 		if($proxy['use'])

を

 		if($proxy['uselogin2ch'])

と変更すれば良いのではないかと。



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS