http://popurls.com/go/msn.com/l4eba1e6a0ffbd9fc915948434423a7d5과 같은 URL을 사용하는 경우 프로그래밍 방식으로 원래 URL로 다시 확장하려면 어떻게해야합니까? 분명히 expandurl.com과 같은 API를 사용할 수는 있지만 시간당 100 건의 요청이 제한됩니다.C에서 URL을 확장하는 방법 #?
3
A
답변
7
URL을 요청하고 반환 된 상태 코드를 확인하십시오. 301
또는 302
경우, "확장 URL"을 포함하는하는 Location
헤더를 찾습니다 :
string url = "http://popurls.com/go/msn.com/l4eba1e6a0ffbd9fc915948434423a7d5";
var request = (HttpWebRequest) WebRequest.Create(url);
request.AllowAutoRedirect = false;
var response = (HttpWebResponse) webRequest.GetResponse();
if ((int) response.StatusCode == 301 || (int) response.StatusCode == 302)
{
url = response.Headers["Location"];
}
참고 :이 솔루션은 하나의 리디렉션이 발생하는 것을 가정한다. 필요하거나 원하지 않을 수도 있습니다. obfuscator (bit.ly 등)의 URL을 단순하게 디오 프 스프백하려면이 솔루션이 잘 작동해야합니다.
1
답변 찾기.
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://popurls.com/go/msn.com/l4eba1e6a0ffbd9fc915948434423a7d5");
req.AllowAutoRedirect = true;
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
ServicePoint sp = req.ServicePoint;
Console.WriteLine("End address is " + sp.Address.ToString());
+1
이 작업은 가능하지만 [내 솔루션] (http://stackoverflow.com/questions/2569851/how-to-expand-urls-in-c/2569869#2569869)보다 약간 "비용이 많이들 것입니다. 단일 요청 만;) –
관련 문제
- 1. Objective-C에서 프로토콜/델리게이트를 확장하는 방법
- 2. 자바에서 URL을 암호화하고 C에서 해독하는 방법 #
- 3. C에서 URL을 암호화/암호 해독하는 방법
- 4. 아이폰에서 배경 이미지를 확장하는 방법?
- 5. generic을 확장하는 generic을 확장하는 클래스를 선언하는 방법
- 6. GWT를 확장하는 방법
- 7. android.view.Surface를 확장하는 방법?
- 8. 클릭하면 UIWebView 확장하는 방법
- 9. C에서 문자열을 디코딩하는 방법 #
- 10. 목표 C에서 상대 URL을 절대 URL로 변경하십시오.
- 11. 자동으로 텍스트 상자를 확장하는 방법
- 12. 제어 이벤트를 확장하는 방법 IExtenderProvider?
- 13. 이 jQuery 함수를 확장하는 방법
- 14. 장고 관리자 선택을 확장하는 방법?
- 15. 이미지를 확장하는 메모리 효율적인 방법
- 16. QLineEdit를 QScrollArea 내에서 확장하는 방법
- 17. asp.net mvc에서 subgrid를 확장하는 방법
- 18. VirtualBox : 그래픽 모드에서보기를 확장하는 방법?
- 19. django : 기존 모델을 확장하는 방법
- 20. visualstudio에서 도구 옵션을 확장하는 방법
- 21. jQueryUI datepicker를 영구적으로 확장하는 방법
- 22. grails에서 환경 설정을 확장하는 방법
- 23. KohanaPHP에서 URL의 매개 변수를 확장하는 방법?
- 24. Objective-C에서 중첩 클래스를 확장하는 좋은/최선의 방법이 있습니까?
- 25. URL을 저장하고 Greasemonkey에 URL을 방문하는 방법
- 26. C에서 .NET 객체 작성하기?
- 27. 3Ds Max 재질을 올바르게 확장하는 방법
- 28. restful_authentication AASM 상태를 확장하는 더 나은 방법
- 29. 레일즈 플러그인에서 ActionController를 올바르게 확장하는 방법
- 30. SqlMapClientDaoSupport를 확장하는 DAO 단위 테스트 방법
이전에 해본 적이 있지만 해결책은 하나 이상의 리디렉션이 없다고 가정합니다. 종종 좋은 솔루션이지만, 최종 URI가 실제로 중요했던 한 작업에서 작업했습니다.이 경우 리디렉션이 필요한 경우가있었습니다. – JasonTrue
@JasonTrue : 좋은 지적입니다! 내 대답에 대한 고지를 편집 할 것입니다. –