Thread Rating:
  • 274 Vote(s) - 2.65 Average
  • 1
  • 2
  • 3
  • 4
  • 5
FireFoxとCurl
11-05-2013, 11:29 AM,
#1
FireFoxとCurl
こんにちは。
FireFoxの設定なのか、Curlプログラムになにか書けば回避できるのか、そもそも誰も発生していない事象なのか
ご存知でしたら教えてください。

現在、サーバのhtdocs以下にフォルダを作って、.curlを配置しています。
FireFoxからそのCurlを呼ぶと、1度目は起動するのですが、2度目が起動しません。
3度目は起動するが、4度目が起動しない・・というように順番に起動する/しない状態となっています。
※Firefox:16.0.2
  Curl :7.0
  OS  :Windows7
同じ事象が発生する方、原因・回避方法をご存知の方いらっしゃいますでしょうか?

※FireFoxで起動しているWebシステムからCurlを起動しています。
Curl7RTEのシステム要件ではFireFox16は対応とありますが、16.0.2はCurl7サポート外でしょうか?
もしサポート外のため発生している事象である可能性が高いなら、WebシステムからIEでCurl起動させる方法を教えていただきたく。
よろしくお願いいたします。

Reply
11-05-2013, 11:48 AM,
#2
RE: FireFoxとCurl
追記情報です。
サーバにある.curlの処理内容として、ローカルにあるVBSファイルを起動する以下の処理をしております。
この処理があると該当事象が発生します。
|| VBS起動
{spawn-host-process "rundll32.exe", args}
つまり、以下の条件で発生します。
FireFox × Curl × {spawn-host-process "rundll32.exe", args}
Reply
11-06-2013, 05:47 PM,
#3
RE: FireFoxとCurl
どうでしょうか?
どなたか再現しませんか?

FireFox と HostProcess を使った処理の場合、Curlが実行される/されないが交互に起こります。

なお、以下をみるとFireFoxのバージョンが16とあり、16.0なのか、16+なのか不明です。
念のため、16.0でも試しましたが現象再現しました。
http://www.curlap.com/download/old_rte/v7/system.html


よろしくお願いします。
Reply
11-06-2013, 08:25 PM,
#4
RE: FireFoxとCurl
私の個人的な環境では、FireFoxを日常的に使っていますが、再現したことはないです。
rundll32.exe で何かDLLを実行しているのでしょうか?
実行しているのであれば、そのDLLの情報、
また、「Curlが起動しない」という現象の、具体的な情報(エラーメッセージが出る、
フリーズするなど)を挙げられるとよいかも知れません。
Reply
11-07-2013, 11:53 AM,
#5
RE: FireFoxとCurl

umemuraさま

ありがとうございます。

どうやら原因がわかってきました。

umemuraさまのコメントから、rundll32.exe で実行しているtest.VBSをシンプルにして原因追及できました。
-test.VBS---------------------------------
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://google.co.jp")
-----------------------------------------

わかっていた再現条件は以下でした。
・Curlを毎回シャットダウンすると問題ない
・FireFoxをいったん終了させると問題ない

色々と検証していくと、Curlの処理の最後にhtmlを呼んで自分のウィンドウを閉じている箇所があるのですが
ウィンドウを閉じることができずなにか命令だけ残っていて、それとHostProcessが影響していたのでしょうか・・?
※ウィンドウを閉じる処理はJavaScriptですが・・。
ひとまず、ウィンドウを閉じるhtml、FireFoxの設定等を見直します。
失礼しました。


-------以下、余談です--------------------

ちなみに、Curlが起動しない というのはエラーメッセージもフリーズもしません。

以下のようなstart.curlを動かしていますが
2回目に実行したときは、画面には「起動中です..」の文字が表示されていますが、{output "start"}がコンソールに表示されません。
そのため、起動していないと考えています。
※「起動中です..」はキャッシュで表示されているだけだったんでしょうか・・?
-------------------------------
{curl 7.0 applet}
{curl-file-attributes character-encoding = "shift-jis"}
{document-style PlainDocument}
{import * from CURL.RUNTIME.HOST-PROCESS}
{output "start"}
{text 起動中です..}

{let query:String = {get-the-applet}.url.query}
{let hash-param:{HashTable-of String, String} = {new {HashTable-of String, String}}}

~~省略~~
|| VBS起動
{{spawn-host-shell "C:\\xxx\\test.vbs"}}
{browse-url target = "_self", {url "http://128.1.xxx.xxx/images/exit.html"}}
-------------------------------
Reply

Forum Jump:


Users browsing this thread:
1 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('1003')