<div align="center">
<br>
<br>
<img width="360" src="media/logo.svg" alt="Got">
<br>
<br>
<br>
<p align="center">Huge thanks to <a href="https://moxy.studio"><img src="https://sindresorhus.com/assets/thanks/moxy-logo.svg" valign="middle" width="150"></a> for sponsoring Sindre Sorhus!
</p>
<p align="center"><sup>(they love Got too!)</sup></p>
<br>
<br>
</div>
> Human-friendly and powerful HTTP request library for Node.js
[![Build Status: Linux](https://travis-ci.com/sindresorhus/got.svg?branch=master)](https://travis-ci.com/github/sindresorhus/got)
[![Coverage Status](https://coveralls.io/repos/github/sindresorhus/got/badge.svg?branch=master)](https://coveralls.io/github/sindresorhus/got?branch=master)
[![Downloads](https://img.shields.io/npm/dm/got.svg)](https://npmjs.com/got)
[![Install size](https://packagephobia.now.sh/badge?p=got)](https://packagephobia.now.sh/result?p=got)
[Moving from Request?](documentation/migration-guides.md) [*(Note that Request is unmaintained)*](https://github.com/request/request/issues/3142)
[See how Got compares to other HTTP libraries](#comparison)
For browser usage, we recommend [Ky](https://github.com/sindresorhus/ky) by the same people.
## Highlights
- [Promise API](#api)
- [Stream API](#streams)
- [Pagination API](#pagination)
- [HTTP2 support](#http2)
- [Request cancelation](#aborting-the-request)
- [RFC compliant caching](#cache-adapters)
- [Follows redirects](#followredirect)
- [Retries on failure](#retry)
- [Progress events](#onuploadprogress-progress)
- [Handles gzip/deflate/brotli](#decompress)
- [Timeout handling](#timeout)
- [Errors with metadata](#errors)
- [JSON mode](#json-mode)
- [WHATWG URL support](#url)
- [HTTPS API](#advanced-https-api)
- [Hooks](#hooks)
- [Instances with custom defaults](#instances)
- [Types](#types)
- [Composable](documentation/advanced-creation.md#merging-instances)
- [Plugins](documentation/lets-make-a-plugin.md)
- [Used by 4K+ packages and 1.8M+ repos](https://github.com/sindresorhus/got/network/dependents)
- [Actively maintained](https://github.com/sindresorhus/got/graphs/contributors)
- [Trusted by many companies](#widely-used)
## Install
```
$ npm install got
```
## Usage
###### Promise
```js
const got = require('got');
(async () => {
try {
const response = await got('https://sindresorhus.com');
console.log(response.body);
//=> '<!doctype html> ...'
} catch (error) {
console.log(error.response.body);
//=> 'Internal server error ...'
}
})();
```
###### JSON
```js
const got = require('got');
(async () => {
const {body} = await got.post('https://httpbin.org/anything', {
json: {
hello: 'world'
},
responseType: 'json'
});
console.log(body.data);
//=> {hello: 'world'}
})();
```
See [JSON mode](#json-mode) for more details.
###### Streams
```js
const stream = require('stream');
const {promisify} = require('util');
const fs = require('fs');
const got = require('got');
const pipeline = promisify(stream.pipeline);
(async () => {
await pipeline(
got.stream('https://sindresorhus.com'),
fs.createWriteStream('index.html')
);
// For POST, PUT, PATCH, and DELETE methods, `got.stream` returns a `stream.Writable`.
await pipeline(
fs.createReadStream('index.html'),
got.stream.post('https://sindresorhus.com')
);
})();
```
**Tip:** `from.pipe(to)` doesn't forward errors. Instead, use [`stream.pipeline(from, ..., to, callback)`](https://nodejs.org/api/stream.html#stream_stream_pipeline_streams_callback).
**Note:** While `got.post('https://example.com')` resolves, `got.stream.post('https://example.com')` will hang indefinitely until a body is provided. If there's no body on purpose, remember to `.end()` the stream or set the [`body`](#body) option to an empty string.
### API
It's a `GET` request by default, but can be changed by using different methods or via [`options.method`](#method).
**By default, Got will retry on failure. To disable this option, set [`options.retry`](#retry) to `0`.**
#### got(url?, options?)
Returns a Promise giving a [Response object](#response) or a [Got Stream](#streams-1) if `options.isStream` is set to true.
##### url
Type: `string | object`
The URL to request, as a string, a [`https.request` options object](https://nodejs.org/api/https.html#https_https_request_options_callback), or a [WHATWG `URL`](https://nodejs.org/api/url.html#url_class_url).
Properties from `options` will override properties in the parsed `url`.
If no protocol is specified, it will throw a `TypeError`.
**Note:** The query string is **not** parsed as search params. Example:
```js
got('https://example.com/?query=a b'); //=> https://example.com/?query=a%20b
got('https://example.com/', {searchParams: {query: 'a b'}}); //=> https://example.com/?query=a+b
// The query string is overridden by `searchParams`
got('https://example.com/?query=a b', {searchParams: {query: 'a b'}}); //=> https://example.com/?query=a+b
```
##### options
Type: `object`
Any of the [`https.request`](https://nodejs.org/api/https.html#https_https_request_options_callback) options.
**Note:** Legacy URL support is disabled. `options.path` is supported only for backwards compatibility. Use `options.pathname` and `options.searchParams` instead. `options.auth` has been replaced with `options.username` & `options.password`.
###### method
Type: `string`\
Default: `GET`
The HTTP method used to make the request.
###### prefixUrl
Type: `string | URL`
When specified, `prefixUrl` will be prepended to `url`. The prefix can be any valid URL, either relative or absolute.\
A trailing slash `/` is optional - one will be added automatically.
**Note:** `prefixUrl` will be ignored if the `url` argument is a URL instance.
**Note:** Leading slashes in `input` are disallowed when using this option to enforce consistency and avoid confusion. For example, when the prefix URL is `https://example.com/foo` and the input is `/bar`, there's ambiguity whether the resulting URL would become `https://example.com/foo/bar` or `https://example.com/bar`. The latter is used by browsers.
**Tip:** Useful when used with [`got.extend()`](#custom-endpoints) to create niche-specific Got instances.
**Tip:** You can change `prefixUrl` using hooks as long as the URL still includes the `prefixUrl`. If the URL doesn't include it anymore, it will throw.
```js
const got = require('got');
(async () => {
await got('unicorn', {prefixUrl: 'https://cats.com'});
//=> 'https://cats.com/unicorn'
const instance = got.extend({
prefixUrl: 'https://google.com'
});
await instance('unicorn', {
hooks: {
beforeRequest: [
options => {
options.prefixUrl = 'https://cats.com';
}
]
}
});
//=> 'https://cats.com/unicorn'
})();
```
###### headers
Type: `object`\
Default: `{}`
Request headers.
Existing headers will be overwritten. Headers set to `undefined` will be omitted.
###### isStream
Type: `boolean`\
Default: `false`
Returns a `Stream` instead of a `Promise`. This is equivalent to calling `got.stream(url, options?)`.
###### body
Type: `string | Buffer | stream.Readable` or [`form-data` instance](https://github.com/form-data/form-data)
**Note #1:** The `body` option cannot be used with the `json` or `form` option.
**Note #2:** If you provide this option, `got.stream()` will be read-only.
**Note #3:** If you provide a payload with the `GET` or `HEAD` method, it will throw a `TypeError` unless the method is `GET` and the `allowGetBody` option is set to `true`.
**Note #4:** This option is not enumerable and will not be merged with the instance defaults.
The `content-length` header will be automatically set if `body` is a `string` / `Buffer` / `fs.createReadStream` instance / [`form-data` instance](https://github.com/form-data/form-data), and `content-length` and `transfer-encoding` are not manually set in `options.headers`.
###### json
Type: `object | Array | number | string | boolean | null` *(JSON-serializable values)*
**Note #1:** If you provide thi
没有合适的资源?快使用搜索试试~ 我知道了~
2024年3月最新FANbbs 社区圈子源码更新1.0.3 带前后端小程序源码
共1951个文件
js:1028个
ts:228个
vue:222个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 155 浏览量
2024-03-20
21:48:33
上传
评论
收藏 75.99MB RAR 举报
温馨提示
3月最新FANbbs 社区圈子源码更新1.0.3 带前后端小程序源码,视频链接允许使用外部直链,在填写或者上传视频后会自动填写链接。 链接会自动请求,如果需要设置封面图,可以在发布视频页面上方播放界面点击齿轮图标选择截图。 UPDATE + 新增了视频播放界面 + 图片原图预览 + 添加图片文章编辑 – 删除了多于请求 ~优化了本地上传文件的逻辑 ~修正前端瀑布流进入页面错误 ~修正前端视频页面黑暗模式下的颜色错误 ~修正评论界面进入页面错误 ~修正视频发布逻辑 ~优化图片上传本地压缩不保留Alpha通道 ~修正文章更新问题 ~修正文章收藏状态
资源推荐
资源详情
资源评论
收起资源包目录
2024年3月最新FANbbs 社区圈子源码更新1.0.3 带前后端小程序源码 (1951个子文件)
cross-env-shell.cmd 324B
cross-env.cmd 318B
node-which.cmd 308B
cross-env 328B
cross-env-shell 340B
ess.css 144KB
animate.css 93KB
animate.min.css 70KB
animate.compat.css 69KB
ybplayer.css 12KB
animate.css 4KB
z-paging-main.css 3KB
level.css 1KB
_base.css 1KB
flip.css 891B
z-paging-static.css 796B
bounce.css 714B
wobble.css 625B
jello.css 616B
bounceIn.css 600B
flipInY.css 559B
flipInX.css 559B
bounceInRight.css 534B
bounceInDown.css 531B
bounceInLeft.css 529B
bounceInUp.css 527B
hinge.css 495B
headShake.css 443B
zoomOutDown.css 441B
zoomOutUp.css 435B
rubberBand.css 424B
tada.css 418B
zoomInRight.css 408B
zoomInDown.css 405B
zoomInLeft.css 405B
zoomInUp.css 399B
flipOutX.css 396B
flipOutY.css 396B
lightSpeedInRight.css 365B
heartBeat.css 363B
lightSpeedInLeft.css 362B
swing.css 357B
pulse.css 326B
jackInTheBox.css 325B
bounceOut.css 323B
bounceOutDown.css 317B
bounceOutUp.css 312B
rollIn.css 303B
zoomOutRight.css 292B
zoomOutLeft.css 288B
backOutRight.css 283B
backOutLeft.css 281B
backInRight.css 280B
backOutDown.css 279B
backInLeft.css 278B
backInDown.css 278B
backOutUp.css 274B
shakeX.css 273B
shakeY.css 273B
backInUp.css 271B
shake.css 270B
rollOut.css 267B
rotateInDownRight.css 263B
rotateInDownLeft.css 260B
rotateInUpRight.css 258B
rotateInUpLeft.css 253B
bounceOutRight.css 246B
lightSpeedOutRight.css 245B
lightSpeedOutLeft.css 244B
bounceOutLeft.css 243B
fadeOutBottomRight.css 233B
rotateIn.css 232B
fadeOutBottomLeft.css 231B
fadeInBottomRight.css 230B
rotateOutDownRight.css 230B
fadeInBottomLeft.css 228B
rotateOutDownLeft.css 225B
fadeOutTopRight.css 225B
rotateOutUpRight.css 223B
fadeOutTopLeft.css 223B
fadeInTopRight.css 222B
fadeInRightBig.css 221B
fadeInTopLeft.css 220B
rotateOutUpLeft.css 220B
fadeInDownBig.css 219B
fadeInLeftBig.css 219B
fadeInUpBig.css 212B
fadeInRight.css 210B
slideOutRight.css 208B
fadeInDown.css 208B
fadeInLeft.css 208B
slideOutLeft.css 206B
slideInRight.css 206B
slideOutDown.css 205B
slideInLeft.css 204B
slideInDown.css 204B
fadeInUp.css 201B
slideOutUp.css 200B
slideInUp.css 197B
rotateOut.css 197B
共 1951 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
如鹿觅水
- 粉丝: 180
- 资源: 376
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功