[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: Prompt for proxy authentication



>> On Fri, 20 Jul 2001 21:23:45 +0900
>> 「土」== tsuchiya@pine.kuee.kyoto-u.ac.jp (TSUCHIYA Masatoshi) said as follows:

土> emacs-w3m から w3m を呼び出して利用する時、ページ閲覧のための通常の認
土> 証と、proxy の認証とで異なる対応が必要になります。そこで、これらの2つ
土> を見分けるられるようにプロンプトを変更するためのパッチを作成したのです
土> が、w3m 本体に取り込んでいただけないでしょうか。

このパッチを適用し、更に w3m.el を以下のように変更すると、プロキシの認
証を特別扱いするようになります。認証の必要なプロキシを利用されている方
は、どうぞ試してみてください。
Index: w3m.el
===================================================================
RCS file: /home/tsuchiya/cvsroot/emacs-w3m/w3m.el,v
retrieving revision 1.327
diff -u -u -r1.327 w3m.el
--- w3m.el	18 Jul 2001 05:25:45 -0000	1.327
+++ w3m.el	23 Jul 2001 14:31:04 -0000
@@ -1838,6 +1838,9 @@
 	  (setq file (expand-file-name default file))))
     (expand-file-name file)))
 
+(defvar w3m-proxy-user nil)
+(defvar w3m-proxy-passwd nil)
+
 (defun w3m-exec-filter (process string)
   (if (buffer-name (process-buffer process))
       (with-current-buffer (process-buffer process)
@@ -1849,6 +1852,28 @@
 	  (unless (string= "" string)
 	    (goto-char (point-min))
 	    (cond
+	     ((and (looking-at
+		    "\\(\nWrong username or password\n\\)?Proxy Username: Proxy Password: ")
+		   (= (match-end 0) (point-max)))
+	      (unless w3m-proxy-passwd
+		(setq w3m-proxy-passwd
+		      (read-passwd "Proxy Password: ")))
+	      (condition-case nil
+		  (progn
+		    (process-send-string process
+					 (concat w3m-proxy-passwd "\n"))
+		    (delete-region (point-min) (point-max)))
+		(error nil)))
+	     ((and (looking-at
+		    "\\(\nWrong username or password\n\\)?Proxy Username: ")
+		   (= (match-end 0) (point-max)))
+	      (unless w3m-proxy-user
+		(setq w3m-proxy-user
+		      (read-from-minibuffer "Proxy Username: ")))
+	      (condition-case nil
+		  (process-send-string process
+				       (concat w3m-proxy-user "\n"))
+		(error nil)))
 	     ((and (looking-at
 		    "\\(\nWrong username or password\n\\)?Username: Password: ")
 		   (= (match-end 0) (point-max)))
-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )
    http://www-nagao.kuee.kyoto-u.ac.jp/member/tsuchiya/
;; 動作テストに付き合ってくださった井上さんに感謝します。