Excel VB使用Bit.ly缩短url不会在长URL中传递“%3d”

我正在构build一个缩短url的VBmacros(我们正在谈论数千个)。 我的macros工作得很好,直到我遇到了一个长的URL“%3d”,它翻译成等号(=)。

以下是长URL的示例: http : //domain.com/se/?st=YmUQaIg9PCoCs3vex5XHE1NnqfurVpWsXMXix0QkyO4%3d&p=A43S8C

我的macros将整个URL发送到Bit.ly,但是Bit.ly的响应文本显示它缩短了这个: http ://domain.com/se/?st=YmUQaIg9PCoCs3vex5XHE1NnqfurVpWsXMXix0QkyO4=

而事实上,当我去到缩短的链接,我没有定向到完整的URL。

这是我的代码提示Bit.ly并获得响应的部分:

ApiRequest = "https://api-ssl.bitly.com/v3/shorten?access_token=" & Token & "&longUrl=" & LongURL With HttpRequest .Open "GET", ApiRequest, False .Send End With Response = HttpRequest.ResponseText HttpRequest.WaitForResponse BeginCar = InStr(Response, "hash") EndCar = BeginCar + 15 BitlyResult = Right(Mid(Response, BeginCar, (EndCar - BeginCar)), 7) Range("J" & l).Value = "http://bit.ly/" & BitlyResult 

如何告诉Bit.ly不要缩短截断的URL并保留“%3d”等符号?

谢谢,

我认为你必须逃避整个url,当它被用作另一个url内的参数。 这个问题可能不是%3d而是后面的& (它开始下一个参数的bitly-url)。

试图逃避这一点
http://domain.com/se/?st=YmUQaIg9PCoCs3vex5XHE1NnqfurVpWsXMXix0QkyO4%3d&p=A43S8C
完全地
http%3A%2F%2Fdomain.com%2Fse%2F%3Fst%3DYmUQaIg9PCoCs3vex5XHE1NnqfurVpWsXMXix0QkyO4%253d%26p%3DA43S8C

以下是在Excel中执行此操作的方法。