0

Tableau Trusted Ticket 認証 (ここで説明)を使用するポータル サイトで作業していますが、チケットの生成に問題があります。

開発を続ける前に確認したかったことの 1 つは、これから使用する Web サーバーが、Trusted Ticket リクエストを生成するために適切にホワイトリストに登録されていることです。

説明どおりにホワイト リスト コマンドを実行しましたが、私の PHP 開発者のコ​​ードは-1失敗を示す を返し続けます。

Tableau が Trusted Ticket コードを生成して返す必要があるのが HTTP POST だけである場合、curl でこれをテストできるはずです。Linux ベースの Web サーバーの数を考えると、トラブルシューティングの手順として提案されていないことに少し驚いています。

ホワイトリストを確認するためだけに、チケットを生成するためにテストPOSTを送信する適切な方法を知っている人はいますか? 私はcurlとPythonに少し慣れていないので、それら(リクエストモジュールを使用したpython)を試してみましたが、うまくいきませんでした。

カールバージョン:

curl --data "username=exampleuser" http://webserver.example.com/trusted

Python バージョン:

import requests
url = "http://webserver.example.com/trusted"
postdata = "username=exampleuser"
r = requests.post(url, postdata)
print r.text

これらはどちらも を返します-1。これは、ホワイトリストへの登録が何らかの理由で失敗したか、またはこれらが適切にフォーマットされた要求ではない可能性があります。似たようなことを試して成功した人はいますか?

逆に、これに対して正しいPOSTリクエストがどのように見えるべきかのクリアテキスト文字列を誰かが持っていますか?

ここに HTML と JavaScript の有用なチャンクがあり、これを使用してチケットを正常に生成できましたが、JavaScript ベースであるため、ヘッドレス Web サーバーで実行したり、送信されたリクエストをキャプチャしたりする方法がわかりませんでした。分析。

4

1 に答える 1

2

したがって、最初に、curl を使用して動詞を操作する場合は、次のように使用する必要があります-X VERBNAME

~# curl -X POST http://httpbin.org/post
{
  "url": "http://httpbin.org/post",
  "data": "",
  "json": null,
  "args": {},
  "form": {},
  "origin": "127.0.0.1",
  "headers": {
    "User-Agent": "curl/7.19.6 (x86_64-unknown-linux-gnu) libcurl/7.19.6 OpenSSL/0.9.8n zlib/1.2.3 libidn/1.5",
    "Connection": "close",
    "Accept": "*/*",
    "Content-Length": "0",
    "Host": "httpbin.org"
  },
  "files": {}
}

第二に、言及されているパラメーターを使用して、次のバリエーションを試します。

import requests

# Variation 1
r = requests.post(url, data={'username': 'exampleuser'})

# Variation 2
r = requests.post(url, params={'username': 'exampleuser'})

# Followed by these lines
print r.status_code
print r.text

cURL で同等のものは次のようになります。

# Variation 1 equivalent
curl --data='username=exampleuser' -X POST http://httpbin.org/post

# Variation 2 equivalent
curl -X POST http://httpbin.org/post?username=exampleuser

application/x-www-form-urlencoded POST2行目から、これはリクエストであると推測しているので、両方の最初のバリエーションが機能するはずです。私はタブローにまったく慣れていないので、どちらがうまくいくかは保証できません。

于 2013-05-16T23:10:07.290 に答える