찾다

 >  Q&A  >  본문

objective-c - iOS中一个怪异的url问题

最近遇到一个怪异的url问题,我是在公司wiki上复制的url(类似http://baidu.com/),然后加上需要传给平台的参数,用AFNetworking的post请求执行该url。然后报:Invalid parameter not satisfying: URLString
但是url只有%、&、字母数字没有其他特殊字符。在执行中断点打印该url,放到浏览器中http后面少了一个,手动加上:请求正确。在程序中继续执行,报上面的错误,这是再复制打印的url到浏览器中,没有:丢失的情况,请求正确。
之前遇到过一次这种情况,手动去打url,解决了问题。但是现在好像不管用了,而且我很纳闷的是为什么会有这个问题,搞不明白,大神指点指点啊:0—0:

为情所困为情所困2758일 전553

모든 응답(1)나는 대답할 것이다

  • 迷茫

    迷茫2017-05-02 09:20:57

    아, 매개변수를 URL로 전달하는군요. 매개변수도 URL인가요?

    이 경우 매개변수의 URL을 URLEncode(인코딩)해야 합니다. 코드가 있는데 아주 간단합니다. URLEncode

    인코딩 작업은 URL의 무결성에 영향을 미치는 특수 문자를 손실되지 않도록 백분율 인코딩으로 변환합니다.

    URL은 영문 26자, 숫자, 특수문자 몇 개를 지원하므로 URL에 비표준 URL 문자가 포함된 경우 인코딩이 필요합니다. iOS는 중국어 및 일부 특수 문자를 인코딩하기 위해 stringByAddingPercentEscapesUsingEncoding 함수를 제공합니다. 그러나 stringByAddingPercentEscapesUsingEncoding 함수는 완벽하지 않으며 일부 특수 문자에는 유효하지 않습니다. 이러한 문자의 경우 CFURLCreateStringByteAddingPercentEscapes 함수

    를 사용할 수 있습니다.

    은 다음과 같습니다.

    으아악

    행운을 빕니다.

    회신하다
    0
  • 취소회신하다