HttpLib(C# .NET Framework) 간략 소개
1. 라이브러리 개요
HttpLib(작성자 James Thorne)는 Apache 2.0 라이선스 기반 .NET HTTP 요청 보조 라이브러리입니다. 비동기 네트워크 요청을 간소화하고 파일 업로드, 웹 페이지 다운로드를 지원하며 메서드 체인 방식을 사용합니다.
참고: C++ 동명 라이브러리인
httplib,com.daniyarkaliyev.httplib와 혼동하지 마세요. 반드시 HttpLib 패키지를 설치해야 합니다.
패키지를 설치하지 않으면 코드에서 Http 타입을 찾을 수 없습니다.

2. 설치 절차
- 솔루션 탐색기에서 프로젝트 우클릭 → NuGet 패키지 관리
- [찾아보기] 탭으로 전환 후
HttpLib검색 - 작성자가
James Thorne (@j6mes)인 패키지를 선택하고 설치(버전 v2.0.16.94) - 출력 창에 설치 완료 메시지가 표시될 때까지 대기

3. HttpLib 참조 추가
1. 네임스페이스 참조 누락
소스 코드 최상단에 반드시 추가하세요:
using HttpLib;
이 줄이 없으면 Http.Get()에 빨간 물결 밑줄 오류가 나타납니다.
일반적으로 NuGet으로 설치하면 자동으로 참조가 추가되므로 수동으로 적어줄 필요가 없습니다.
2. 코드 예시
using System;
using HttpLib; // 필수 네임스페이스
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Http.Get("https://archive.codeplex.com/?p=httplib")
.OnSuccess(result =>
{
Console.Write(result);
})
.Go();
Console.ReadKey();
}
}
}Code language: JavaScript (javascript)
일부 웹사이트는 스크래핑 요청을 차단해 오류가 발생할 수 있으며, 대상 사이트 자체에 접속이 불가능할 수도 있습니다.
An unhandled exception of type “System.Net.WebException” occurred in JumpKick.HttpLib.dll
위 예외가 발생하면 브라우저로 해당 주소에 접속 가능한지 확인하고, 접속이 안 되면 다른 도메인으로 교체하세요.
4. 구문 설명
Http.Get("url") // GET 요청 생성
.OnSuccess(result => {}) // 요청 성공 콜백, result는 웹 응답 텍스트
.Go(); // 비동기 요청 실행Code language: JavaScript (javascript)
.Go(): 비동기 네트워크 호출을 시작하며 메인 스레드를 차단하지 않습니다- 확장 기능:
.OnError()로 네트워크 예외를 처리할 수 있습니다
Http.Get("https://example.com")
.OnSuccess(res=>Console.WriteLine(res))
.OnError(ex=>Console.WriteLine("요청 실패:"+ex.Message))
.Go();Code language: JavaScript (javascript)
예제에 적힌 테스트 주소는 이미 사용 불가이므로 실행하면 요청이 실패합니다.
https://httpbin.org/html로 바꿔 사용하세요.
6. 전체 예제 코드
using System;
using HttpLib;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// 정상 동작하는 테스트 주소 사용
Http.Get("https://httpbin.org/html")
.OnSuccess(result =>
{
Console.WriteLine("요청 성공:");
Console.Write(result);
})
.OnError(err =>
{
Console.WriteLine("요청 예외:" + err.Message);
})
.Go();
Console.WriteLine("비동기 요청이 발송되었습니다. 아무 키나 누르면 종료합니다");
Console.ReadKey();
}
}
}Code language: JavaScript (javascript)
using HttpLib;를 추가했음에도 여전히 빨간 밑줄이 표시된다면 NuGet 캐시 삭제 및 패키지 재설치 방법을 알려드릴 수 있습니다.
참고사항
httpbin.org는 Python requests 라이브러리 제작자가 만든 오픈소스 무료 HTTP 테스트 서비스로 HTTP 요청 디버깅 목적으로 쓰입니다.
/html는 해당 서비스에서 제공하는 API 경로 중 하나입니다.
실행 결과
링크에 접속하면 기본 HTML 문서가 반환됩니다:
소개