{"id":13296847,"url":"https://github.com/WeihanLi/dotnet-httpie","last_synced_at":"2025-03-10T09:32:08.923Z","repository":{"id":38388567,"uuid":"337128585","full_name":"WeihanLi/dotnet-httpie","owner":"WeihanLi","description":"Amazing HTTP command-line tool powered by .NET, inspired by httpie","archived":false,"fork":false,"pushed_at":"2024-03-25T05:19:51.000Z","size":567,"stargazers_count":27,"open_issues_count":7,"forks_count":2,"subscribers_count":3,"default_branch":"dev","last_synced_at":"2024-04-25T12:03:03.305Z","etag":null,"topics":["curl","dotnet-tool","http","http-cli","httpie","rest"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WeihanLi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-08T15:57:22.000Z","updated_at":"2024-06-06T15:24:20.939Z","dependencies_parsed_at":"2023-11-09T14:26:41.204Z","dependency_job_id":"4b66c6ab-8f9c-4578-ad1e-05b6b59da098","html_url":"https://github.com/WeihanLi/dotnet-httpie","commit_stats":{"total_commits":289,"total_committers":2,"mean_commits":144.5,"dds":0.05190311418685123,"last_synced_commit":"b6167850f0bd72cfb7a8cfd0de50ba379b9658e1"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WeihanLi%2Fdotnet-httpie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WeihanLi%2Fdotnet-httpie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WeihanLi%2Fdotnet-httpie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WeihanLi%2Fdotnet-httpie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WeihanLi","download_url":"https://codeload.github.com/WeihanLi/dotnet-httpie/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221164266,"owners_count":16767295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["curl","dotnet-tool","http","http-cli","httpie","rest"],"created_at":"2024-07-29T17:21:08.477Z","updated_at":"2025-03-10T09:32:08.909Z","avatar_url":"https://github.com/WeihanLi.png","language":"C#","funding_links":[],"categories":["C\\#"],"sub_categories":[],"readme":"# dotnet-HTTPie\n\n[![dotnet-HTTPie](https://img.shields.io/nuget/v/dotnet-HTTPie)](https://www.nuget.org/packages/dotnet-HTTPie/)\n\n[![dotnet-HTTPie Latest](https://img.shields.io/nuget/vpre/dotnet-HTTPie)](https://www.nuget.org/packages/dotnet-HTTPie/absoluteLatest)\n\n[![Github Actions Build Status](https://github.com/WeihanLi/dotnet-HTTPie/workflows/default/badge.svg?branch=dev)](https://github.com/WeihanLi/dotnet-HTTPie/actions?query=workflow%default+branch%3Adev)\n\n[![Docker Pulls](https://img.shields.io/docker/pulls/weihanli/dotnet-httpie)](https://hub.docker.com/r/weihanli/dotnet-httpie/tags)\n\n## Intro\n\ndotnet tool version of [httpie](https://github.com/httpie/httpie), Modern, user-friendly command-line HTTP client for the API era.\n\n![httpie](https://raw.githubusercontent.com/httpie/httpie/master/docs/httpie-animation.gif)\n\nHTTPie (pronounced aitch-tee-tee-pie) is a command-line HTTP client. Its goal is to make CLI interaction with web services as human-friendly as possible. HTTPie is designed for testing, debugging, and generally interacting with APIs \u0026 HTTP servers.\n\n## Install\n\nInstall .NET SDK before you get started with this tool, when you had .NET SDK installed, run the command below to install the latest stable version tool\n\n``` bash\ndotnet tool update --global dotnet-httpie\n```\n\nFor latest preview version, run the following command instead:\n\n``` bash\ndotnet tool update --global dotnet-httpie --prerelease\n```\n\n## GetStarted\n\nNow you can use the tool to call your API you want\n\nUsages:\n\n\u003e dotnet-http [flags] [METHOD] URL [ITEM [ITEM]]\n\nThere're three types of item\n\nType | Grammar\n-----|-------\nQuery| name`==`test\nHeader| X-Api-Key`:`test\nRequest-Data | name`=`test, raw data field example(Only effective for JSON): age`:=`10, job`:=`'{\"Id\":1,\"Name\":\"test\"}'(Escape may needed for Windows cmd or Windows PowerShell)\n\nHere's a sample:\n\n``` sh\ndotnet-http https://reservation.weihanli.xyz/health test==1234 name=test age:=10 flag:=true job:='{\"id\": 1, \"name\": \"test\"}' api-key:Abc12345 --offline\n```\n\n![sample](./images/sample.png)\n\nMore examples you may wanna have a look\n\n``` bash\ndotnet-http :5000/api/values\ndotnet-http localhost:5000/api/values\ndotnet-http get https://reservation.weihanli.xyz/api/notice --body\ndotnet-http /api/notice title=test body=test-body\ndotnet-http post http://localhost/api/notice title=test body=test-body\n```\n\n## Execute\n\nYou can execute `*.http`/`*.rest` http requests with the `exec` command\n\n``` sh\ndotnet-http exec HttpStartedSample.http\n\ndotnet-http exec \".\\tests\\HTTPie.IntegrationTest\\TestAssets\\HttpStartedSample.http\"\ndotnet-http exec \".\\tests\\HTTPie.IntegrationTest\\TestAssets\\HttpVariableSample.http\"\ndotnet-http exec \".\\tests\\HTTPie.IntegrationTest\\TestAssets\\HttpRequestReferenceSample.http\"\n```\n\nsee http request sample here: \u003chttps://github.com/WeihanLi/dotnet-httpie/tree/dev/tests/HTTPie.IntegrationTest/TestAssets\u003e\n\n## Docker\n\nThere's a docker image(weihanli/dotnet-httpie) that you could use directly without installing the tool, use sample:\n\n``` bash\ndocker run --rm --pull=always weihanli/dotnet-httpie:latest -v github.com\n\ndocker run --rm --pull=always weihanli/dotnet-httpie:latest reservation.weihanli.xyz/health job:='{\"id\":1,\"name\":\"tester\"}' --offline\n\ndocker run --rm --pull=always weihanli/dotnet-httpie:latest PUT httpbin.org hello=world\n\ndocker run --rm --pull=always weihanli/dotnet-httpie:latest get httpbin.org/status/400\n```\n\n## More\n\nFor detailed document: have a look at HTTPie documents \u003chttps://httpie.io/docs#examples\u003e\n\n## References\n\n- httpie: \u003chttps://github.com/httpie/httpie\u003e\n- httpie docs: \u003chttps://httpie.io/docs\u003e\n- Curl to HTTPie request tool: \u003chttps://curlipie.now.sh/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWeihanLi%2Fdotnet-httpie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWeihanLi%2Fdotnet-httpie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWeihanLi%2Fdotnet-httpie/lists"}