2013-06-01 3 views
3

나는 서버 URL에 POST 값을 보낼 필요, 나는이 코드를 사용하고 있습니다 : 그것은 왜혼합 POST 값은

POST/HTTP/1.1 
TE: deflate,gzip;q=0.3 
Connection: TE, close 
Host: athlon.herrpan.com:2389 
User-Agent: SSL-AirKiosk/1.0 
Content-Length: 206 
Content-Type: application/x-www-form-urlencoded 

LANGUAGE=en_US&ACCEPTURL=http%3A%2F%2Fserver.url2&SHASIGN=6AEE128943C7C896A6449FF7C2CE702222995B7F&CURRENCY=USD&AMOUNT=1000&PSPID=vukasin&ORDERID=20130105220939 

:

$ogone_ua = new LWP::UserAgent; 
$ogone_response = $ogone_ua->post("http://server.url/", { 
'ACCEPTURL' => 'http://server.url2', 
'AMOUNT' => '1000', 
'CURRENCY' => 'USD', 
'LANGUAGE' => 'en_US', 
'ORDERID' => '20130105220939', 
'PSPID' => 'vukasin', 
'SHASIGN' => '6AEE128943C7C896A6449FF7C2CE702222995B7F' 
}); 

하지만 서버가 수신을 순서대로? 은행 API는 코드 에서처럼 POST 값을 정렬해야합니다.

답변

4

해시에는 고유 한 순서가 없으므로 ->post이 호출되기 전에 순서가 손실됩니다. 그러나 POST (->post에 arg가 전달됨)도 배열 참조를 허용합니다.

->post("http://server.url/", [ 
    ACCEPTURL => 'http://server.url2', 
    AMOUNT => '1000', 
    CURRENCY => 'USD', 
    LANGUAGE => 'en_US', 
    ORDERID => '20130105220939', 
    PSPID  => 'vukasin', 
    SHASIGN => '6AEE128943C7C896A6449FF7C2CE702222995B7F', 
]); 
+0

당신은 * 빨리 * - 이것에 대한 열등한 응답을 입력했는데 대답이 나타났습니다. 잘 했어! –

+0

@ikegami는 주위를 어지럽히 지 않습니다. :) – friedo

+0

고마워요! 그게 문제를 해결했습니다! – user2444098