# v-requset
> 突破小程序網絡請求限制黑科技
> 讓你更自由地請求任意網站數據
項目地址:https://github.com/guren-cloud/v-request
## 簡介
大家都知道,小程序的http網絡請求是非常嚴格的:
1. 域名需要備案
2. 域名需要上https
3. 需要開發者在后臺設置request白名單
**所以,這個項目出現了。**
得益于小程序的云開發功能,讓我們可以突破這個限制,來達到請求任何可訪問的http數據!
*(如:ip訪問、http 80端口訪問、自定義端口訪問、未備案域名等場景)*
## 安裝
### 部署云函數
項目分為兩部分,一個是我們的小程序云函數代碼,在`cloud`目錄中。
我們首先在開發者工具開通小程序云開發平臺,然后初始化好環境之后,創建一個云函數,命名為:`v-request`:

然后把`index.js`和`package.json`文件的內容替換為項目`cloud`目錄中對應的文件內容,再右鍵進行上傳部署(云端安裝依賴)操作:

### 部署客戶端
另一個文件,就是主目錄下的`v-request.js`文件,這個是運行在我們小程序里的SDK客戶端文件。
我們把它放入小程序的目錄,如`utils/`目錄中,然后在`app.js`文件中進行`require`加載即可:

## 使用
通過上邊的部署,我們已經可以在小程序的任意位置進行使用我們的`v-request`黑科技了!
使用方法很簡單,和[wx.request](https://developers.weixin.qq.com/miniprogram/dev/api/wx.request.html)官方API的用法基本保持一致,我們只需要把原來的`wx.request`改成`wx.vrequest`即可。
### GET請求例子
```js
wx.vrequest({
url: 'https://mssnn.cn',
success: ret => {
console.log(ret.data);
}
})
```
返回的數據:

### POST請求例子
``` js
wx.login({
success: ret => {
wx.vrequest({
url: 'https://wx5bbe79dd056cb238.mssnn.cn/v2/client/init',
data: 'code=' + ret.code,
dataType: 'json',
method: 'POST',
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
success: res => {
console.log('[post.res]', res);
}
})
}
})
```
返回的數據:

## 其他說明
代碼僅供學習,請勿濫用或用于非法用途。
本方法由古人云小程序原創研發,歡迎你關注我們學習更多小程序開發技巧!
