Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Delphi-Indy-TIdHttp.Get具有较大的URL长度_String_Delphi_Http_Indy_Idhttp - Fatal编程技术网

String Delphi-Indy-TIdHttp.Get具有较大的URL长度

String Delphi-Indy-TIdHttp.Get具有较大的URL长度,string,delphi,http,indy,idhttp,String,Delphi,Http,Indy,Idhttp,我试图使用Indy 10的GET方法,但是,我的URL长度大于255个字符。 GET方法只接受“string”参数 body := httpCom.Get('..........wide string.........') Delphi的编译器告诉我错误: “字符串文字最多可包含255个元素” 是否有任何解决方案或不同的第三方组件来解决此问题?TIdHTTP对URL长度没有任何限制,更不用说255个字符的限制了。但是,HTTP服务器可能会在其端部施加这样的限制,如果它这样做,则请求将失败,HT

我试图使用Indy 10的GET方法,但是,我的URL长度大于255个字符。 GET方法只接受“string”参数

body := httpCom.Get('..........wide string.........')
Delphi的编译器告诉我错误:

“字符串文字最多可包含255个元素”


是否有任何解决方案或不同的第三方组件来解决此问题?

TIdHTTP
对URL长度没有任何限制,更不用说255个字符的限制了。但是,HTTP服务器可能会在其端部施加这样的限制,如果它这样做,则请求将失败,HTTP
414请求URI太长
错误代码,根据:

10.4.15 414请求URI太长

服务器拒绝为请求提供服务,因为请求URI 比服务器愿意解释的时间长。这是罕见的 这种情况只有在客户不适当地使用时才可能发生 使用长查询将POST请求转换为GET请求 信息,当客户端已陷入 重定向(例如,指向后缀的重定向URI前缀) 或当服务器受到试图 使用固定长度攻击某些服务器中存在的安全漏洞 用于读取或操作请求URI的缓冲区


除了IDE之外,字符串类型没有问题,您可以这样编写它

Const
   C_URL = 'A long text with 255 Characters ....to be contionued ...'
          +'more content....to be contionued ... '
          +'more more content....to be contionued ... '
          +'enough content';
begin
  IDHTTP1.Get(C_URL);
end;


我没有从服务器获取结果错误。Delphi的编译器给了我一个错误:“字符串文字最多可以有255个元素”。代码:body:=httpCom.Get(“……宽字符串…………”);虽然它没有回答你的问题,但我认为Remy发布了这个答案,因为当有人在Google上搜索时,例如,它会导致你的问题,而这篇文章描述了
TIdHTTP
控件的URL长度限制和HTTP协议本身。我想那很好。可能是复制品
  IDHTTP1.Get( 'A long text with 255 Characters ....to be contionued ...'
          +'more content....to be contionued ... '
          +'more more content....to be contionued ... '
          +'enough content');