1

pyload インスタンスに URL を簡単に送信するために、Web サイトのクライアント側にボタンを挿入しようとしています。ローカルの jDownloader インスタンスでパッケージを作成するために、すでに同様のことを行っているので、ここからそれほど離れていません。

curl を使用して pyload API との通信に成功しました。

curl -s -d "username=myusername&password=mypassword" -X POST http://MYPYLOADINSTANCE:8000/api/login

これは、当然のことながら、APIを引き続き使用するために必要なセッションIDを返します。

ただし、GM_xmlhttpRequest を使用して Tampermonkey 内から同じ呼び出しを実行しようとすると、responseText 'false' で常に成功します。これは、認証が成功しなかったことを意味します。

GM_xmlhttpRequest ( {
  context: { contextData: 'foo', contextData2: 'bar' }, // <- ignore that, only for testing
  method:  'POST',
  data: 'username=myusername&password=mypassword',
  synchronous: false,
  url:     'http://MYPYLOADINSTANCE:8000/api/login',
  onload:  function(responseDetails) { alert(responseDetails.responseText
          + '\n' + responseDetails.context.contextData); },
  onerror: function(responseDetails) { alert(responseDetails); },
  onabort: function(responseDetails) { alert(responseDetails); }

} );

私の質問は次のとおりです。私は何を間違っていますか、curl の使用と GM_xmlhttpRequest の使用の違い (サーバー/pyload の場合) はどこにありますか? 基本的に同じクエリになるはずだと思いましたか?

いいえ、悲しいことに、pyload-logs には何も表示されません。:-(

4

1 に答える 1