NSURLRequest에서 지원되지 않는 URL
단말기에서 이 요청을 실행하면 정상적으로 JSON 요청을 볼 수 있습니다.
curl -XGET 192.168.0.6:8888/scripts/data/backend2/index.php/name/_all
NSURlRequest의 코드는 다음과 같습니다.
NSURLRequest *request = [NSURLRequest requestWithURL:
[NSURL URLWithString:@"192.168.0.6:8888/scripts/data/backend2/index.php/name/_all"]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
이 에러가 표시됩니다.
didFailWithError
2013-11-29 22:31:08.164 Ski Greece[607:a0b] Connection failed: Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo=0xcd042d0 {NSErrorFailingURLStringKey=192.168.0.6:8888/scripts/data/backend2/index.php/name/_all, NSErrorFailingURLKey=192.168.0.6:8888/scripts/data/backend2/index.php/name/_all, NSLocalizedDescription=unsupported URL, NSUnderlyingError=0xdbdcc70 "unsupported URL"}
어떻게 하면 그 URL로 전화를 걸 수 있습니까?서버 코드에 액세스 할 수 없습니다.그 URL에 전화를 걸면 필요한 것을 돌려주는 셋업뿐이라는 것을 알고 있습니다.
적절한 URL 스킴을 URL에 포함시켜 주세요.
[NSURL URLWithString:@"http://www...
제 경우 다음과 같이 수정했습니다.
strURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
strURL에는 URL이 포함된 문자열이 포함됩니다.
제 경우, 제 Mac 상에서 실행되고 있는 서비스를 방문하기 때문에 URL은 127.0.0.1:8080/list 입니다.
http:// 스킴을 추가한 후.됐다!
이제 127.0.0.1:8080/list가 아닌http://127.0.0.1:8080/list가 됩니다.
저도 같은 에러 때문에 고생했습니다만, URL 패스는 올바르지만, http 앞에 다음과 같이 공백이 있었습니다.
NSString *path = @" http://www.mylink/";
NSURL *url = [NSURL URLWithString:path];
그래서 url을 0으로 표시했기 때문에 "지원되지 않는 URL"로 표시되었습니다.그 후 공간을 삭제함으로써 문제가 발생하지 않았습니다.
Alf G와 같은 응답이지만 IOS 9+에서는
strUrl = [strUrl stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLHostAllowedCharacterSet]
내 경우 URL에 공백이 추가되어 공백이 제거되고 실행됩니다.매개 변수를 전달할 때에도 URL에 공백이 추가되지 않았는지 확인하십시오.도움이 됐으면 좋겠는데
제 경우, 스위프트에서 포장되지 않은 선택 사항을 전달하고 있었습니다.문자열에 대한 옵션의 래핑을 해제하면 URL이 올바르게 받아들여졌습니다.
잘못된 형식의 URL이거나 전혀 유효하지 않은 URL인 것 같습니다.브라우저에서 이 URL을 클릭해 보세요.아무런 결과도 나오지 않을 겁니다.error code=-1002는 URL이 지원되지 않을 때 발생합니다.
앞서 설명한 것처럼 URL에 공백이 있으면 발생할 수 있지만 문자열에 지원되지 않는 문자가 포함되어 있을 수도 있습니다.예를 들어 PDF, Word 또는 기타 문서에서 URL을 복사하여 붙여넣는 경우 지원되지 않는 문자가 포함될 수 있습니다.눈에는 멀쩡해 보이지만 컴파일러는 그렇지 않다.
이 문제를 해결하려면[NSURL URLWithString:@"http://blabhblabh"]
method는 URL뿐만 아니라 코드 줄 전체를 삭제하고 링크와 메서드를 수동으로 다시 입력합니다.
이 에러는, URL 에 후행의 줄바꿈이 포함되어 있는 경우에 발생할 수 있습니다.
텍스트 파일에서 읽어낸 API 키를 URL 끝에 추가(버전 관리 시스템에서 제외)할 때 우연히 발견했는데, 파일에는 트레이닝 공백이 포함되어 있었습니다.
문자열에서 줄바꿈 문자를 잘라내는 코드에 대해서는, https://stackoverflow.com/a/4645700/12484 를 참조해 주세요.
아래 코드 VIA를 해결했습니다.
FinalUrl = [FinalUrl stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet];
감사해요.
언급URL : https://stackoverflow.com/questions/20294328/unsupported-url-in-nsurlrequest
'programing' 카테고리의 다른 글
스프링 nullable 주석이 알 수 없는 열거 상수 경고를 생성합니다. (0) | 2023.03.13 |
---|---|
카트 버튼의 woocommerce 코드 (0) | 2023.03.13 |
HTTPS에서 Google 글꼴 로드, 콘텐츠 차단 (0) | 2023.03.08 |
LWP로 JSON POST 요청을 하려면 어떻게 해야 하나요? (0) | 2023.03.08 |
유형에 대한 속성을 찾을 수 없습니다...커스텀 스프링 데이터 저장소 (0) | 2023.03.08 |