컬 --data-urlencode 및 밑줄

컬 --data-urlencode 및 밑줄

저는 Perl 함수에서 생성된 ( 실제 샘플) 형식 curl -XPOST의 URL을 사용하여 봇 API/키를 통해 Telegram 채널에 대한 일부 링크를 게시 했습니다 .https://site/x/pre_encoded_stringpre_encoded_stringXOsmY90GWWA4QHTV_K_WwQMIME::Base64 encode_base64url

결과 문자열에 밑줄 문자가 포함된 경우 _(위의 두 번째 예와 같이) 이는 실패하고 밑줄 문자가 제거되며 curl게시가 다음과 같이 표시됩니다.4QHTVKWwQ

--data-*(binary,raw,urlencode)를 제거하고 URL에 문자열을 전달해 도 제거됩니다.

ais@rex ~ # curl -vv -s -XPOST 'https://api.telegram.org/bot1[...]4:AAE[...]Ggd3g/sendMessage?parse_mode=Markdown&chat_id=@xt2RM' --data-urlencode 'text=https://xt2/x/4QHTV_K_WwQ'
*   Trying 149.154.167.198...
* Connected to api.telegram.org (149.154.167.198) port 443 (#0)
* Initializing NSS with certpath: none
*   CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none
* NPN, server accepted to use http/1.1
* SSL connection using TLS_RSA_WITH_AES_128_GCM_SHA256
* Server certificate:
*       subject: CN=api.telegram.org,OU=Domain Control Validated
*       start date: May 23 16:17:38 2015 GMT
*       expire date: May 23 16:17:38 2018 GMT
*       common name: api.telegram.org
*       issuer: CN=Go Daddy Secure Certificate Authority - G2,OU=http://certs.godaddy.com/repository/,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US
> POST /bot1[...]4:A[...]ApJyf9Pg0/sendMessage?parse_mode=Markdown&chat_id=@xt2RM HTTP/1.1
> Host: api.telegram.org
> User-Agent: curl/7.43.0
> Accept: */*
> Content-Length: 55
> Content-Type: application/x-www-form-urlencoded
> 
* upload completely sent off: 55 out of 55 bytes
< HTTP/1.1 200 OK
< Server: nginx/1.9.1
< Date: Mon, 28 Dec 2015 18:55:30 GMT
< Content-Type: application/json
< Content-Length: 193
< Connection: keep-alive
< Strict-Transport-Security: max-age=31536000; includeSubdomains
< 
* Connection #0 to host api.telegram.org left intact
{"ok":true,"result":{"message_id":1506,"chat":{"id":-1[........]8,"title":"tty2RM","username":"tty2RM","type":"channel"},"date":1451328930,"text":"https:\/\/xt2\/x\/4QHTVKWwQ"}}
ais@rex ~ #

내 문제가 무엇인지에 대한 단서가 있습니까?

관련 정보