<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jonathan Pereira</title>
    <description>The latest articles on DEV Community by Jonathan Pereira (@jonathan366).</description>
    <link>https://dev.to/jonathan366</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F193031%2F186d8037-8f20-4fc1-bab1-38a4c715f3f5.jpeg</url>
      <title>DEV Community: Jonathan Pereira</title>
      <link>https://dev.to/jonathan366</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jonathan366"/>
    <language>en</language>
    <item>
      <title>Testing the new Twitter API v2</title>
      <dc:creator>Jonathan Pereira</dc:creator>
      <pubDate>Fri, 21 Aug 2020 16:13:20 +0000</pubDate>
      <link>https://dev.to/progress/testing-the-new-twitter-api-v2-j27</link>
      <guid>https://dev.to/progress/testing-the-new-twitter-api-v2-j27</guid>
      <description>&lt;p&gt;For developers building apps with social interactions, the Twitter API has been one of the most used API. While it was beneficial, it had its limitations. But not for long. Twitter just &lt;a href="https://bit.ly/3iUtDjc" rel="noopener noreferrer"&gt;released the new version of the Twitter API&lt;/a&gt;, which has so much to offer. &lt;/p&gt;

&lt;h2&gt;
  
  
  What's new in Twitter API v2
&lt;/h2&gt;

&lt;p&gt;Twitter seems to have finally answered the prayers of millions of developers using the Twitter API. The new API makes it simpler to listen and analyze the active conversations on the social platform. Twitter has introduced a couple of exciting things, including new endpoints, new tweet payload, conversation identifiers, and even annotations. &lt;/p&gt;

&lt;p&gt;Having heard so much about it, we decided to take the Twitter API v2 for a spin. Luckily for us, Fiddler Everywhere can quickly test and debug APIs. SO we decided to test the Twitter API v2 on Fiddler Everywhere. &lt;/p&gt;

&lt;h2&gt;
  
  
  Fiddler Everywhere to the rescue
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcy5452kixb5l8e5ey7j9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcy5452kixb5l8e5ey7j9.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
For those who haven't used &lt;a href="https://bit.ly/3j58H90" rel="noopener noreferrer"&gt;Fiddler Everywhere&lt;/a&gt; before, it can capture and inspect network requests, including API calls. It also allows you to modify the request parameters to customize the response as required. &lt;/p&gt;

&lt;h2&gt;
  
  
  Testing the Twitter API v2
&lt;/h2&gt;

&lt;p&gt;In this blog, we are going to test some of the endpoints of the new Twitter API v2 and see how it works. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1jpjk1i8xav7fh1i4kmr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1jpjk1i8xav7fh1i4kmr.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Before getting started, make sure that you create a new app using the &lt;a href="https://developer.twitter.com/en" rel="noopener noreferrer"&gt;Twitter Developer Portal&lt;/a&gt; and generate the Bearer Token to authenticate the request in Fiddler Everywhere. &lt;/p&gt;

&lt;h3&gt;
  
  
  Users lookup
&lt;/h3&gt;

&lt;p&gt;The Twitter API v2 makes it simple to get publicly available user information using the &lt;code&gt;users&lt;/code&gt; endpoint. &lt;/p&gt;

&lt;p&gt;Endpoint URL: &lt;code&gt;https://api.twitter.com/2/users&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You can do the following using this endpoint:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/users&lt;/code&gt; – Query multiple IDs to retrieve user information&lt;br&gt;
&lt;code&gt;/users/:id&lt;/code&gt; – Query the user ID to fetch information about a specific user&lt;br&gt;
&lt;code&gt;/users/by&lt;/code&gt; – Query the username to fetch user information&lt;/p&gt;

&lt;p&gt;For this example, we'll use the &lt;code&gt;/users/by&lt;/code&gt; endpoint. &lt;/p&gt;

&lt;p&gt;We open the Composer in Fiddler Everywhere and enter the endpoint in the request bar and set the method to GET. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F72u88u0lkwusxxfb48x3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F72u88u0lkwusxxfb48x3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
We need to provide authentication and query parameters. Under the Headers tab, add a new key-value pair called &lt;code&gt;authorization&lt;/code&gt; and the Bearer Token as the value. &lt;/p&gt;

&lt;p&gt;In the Params tab, add a key-value pair called &lt;code&gt;usernames&lt;/code&gt;. You can enter the username or multiple usernames separated by commas in the value field. &lt;/p&gt;

&lt;p&gt;Click the Execute button to see the API in action. &lt;/p&gt;

&lt;p&gt;If everything were excellent, in the Response section below, you would see the entire response in the JSON tab. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcymkngs7qq3f40df5669.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcymkngs7qq3f40df5669.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can modify the response as per your requirement by specifying the &lt;code&gt;user.fields&lt;/code&gt; parameters. &lt;/p&gt;

&lt;p&gt;I'm going to request the following fields:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Name of the user&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;username&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Username on Twitter&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;url&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Website URL mentioned in the profile&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;profile_image_url&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;URL of the user's profile image&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pinned_tweet_id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Tweet ID of users pinned tweet, if any&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;verified&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Boolean response indicating whether or not Twitter has verified the user&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;created_at&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Date and time of account creation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;public_metrics&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;number of tweets, followers, following, and lists of the user&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;location&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Place mentioned in the user account&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Once you hit execute, you'll notice the detailed information requested in the JSON tab of the response section. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fh2nqf2dl32ug1wdubp5d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fh2nqf2dl32ug1wdubp5d.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tweets lookup
&lt;/h3&gt;

&lt;p&gt;Using the &lt;code&gt;tweets&lt;/code&gt; endpoint, we can fetch tweets and information about them using the tweet ID. &lt;/p&gt;

&lt;p&gt;Endpoint URL: &lt;code&gt;https://api.twitter.com/2/tweets&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;We'll open a new request tab in Fiddler Everywhere, enter this API endpoint in the request bar, and set the GET method. &lt;/p&gt;

&lt;p&gt;Again, we need to provide authentication and query parameters. You can use the same Bearer Token used in the previous request. &lt;/p&gt;

&lt;p&gt;In the Params tab, add a key-value pair called &lt;code&gt;ids&lt;/code&gt;. You can enter a tweet ID or multiple tweet IDs separated by commas in the value field. &lt;/p&gt;

&lt;p&gt;Click the Execute button to make a call to the API. &lt;/p&gt;

&lt;p&gt;You can view the tweets fetched in the JSON tab of the Response section. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsxb63pay47826jkmqpuo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsxb63pay47826jkmqpuo.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can add additional query parameters to get the required information. I'm going to add the following parameters:&lt;br&gt;
&lt;code&gt;expansions&lt;/code&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;attachments.media_keys&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Identifies the media attached to the tweet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;author_id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Returns the user's unique identifier&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;entities.mentions.username&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Recognizes the Twitter users mentioned in the tweet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;in_reply_to_user_id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Provides the user ID of parent tweets author if the tweet is a reply&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;referenced_tweets.id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Identifies the referenced tweet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;referenced_tweets.type&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Identifies if the tweet is a retweet or a reply&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;text.fields&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;attachments&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Indicates the attachment types, if any&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;conversation_id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Returns the ID of the original tweet along which includes the thread of all replies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;created_at&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Time of the tweet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;geo&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Location from where the tweet originated, if available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lang&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Returns the language tag of the language detected&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;possibly_sensitive&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Returns a Boolean response indicating if the tweet was marked sensitive&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;public_metrics&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Provides the engagement metrics like retweet count and like count&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Source&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Provides the app used for publishing the tweet&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If you execute the request again, you will see the requested fields. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0wphico6mmuxyn8f3hqd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0wphico6mmuxyn8f3hqd.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Recent Tweets search
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;recent&lt;/code&gt; endpoint searches and fetches tweets that match the query. &lt;/p&gt;

&lt;p&gt;Endpoint URL: &lt;code&gt;https://api.twitter.com/2/tweets/search/recent&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Again, We'll open a new request tab in Fiddler Everywhere and enter this API endpoint in the request bar and set the method to GET. &lt;/p&gt;

&lt;p&gt;We need to provide authentication and query parameters. You can use the same Bearer Token used in the previous request. &lt;/p&gt;

&lt;p&gt;In the Params tab, add a key-value pair called &lt;code&gt;query&lt;/code&gt;. You can enter the query in the value field. &lt;/p&gt;

&lt;p&gt;Click the Execute button to fetch the response.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Feiquaragjpqr0ghiwfal.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Feiquaragjpqr0ghiwfal.png" alt="Alt Text"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;You can view the tweets fetched in the JSON tab of the Response section. By default, the endpoint returns ten results from the last seven days. You can use the &lt;code&gt;max_results&lt;/code&gt; parameter to indicate the required number of results. &lt;/p&gt;

&lt;p&gt;You can use the same query parameters from above to modify the request as required. &lt;/p&gt;

&lt;p&gt;This is the response that I received. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fobitqs3zflhhiieeg5v4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fobitqs3zflhhiieeg5v4.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These were some of the basic operations that you can perform using the new Twitter API v2. Next time, we'll dive into how Twitter has improved the API using NLP to &lt;em&gt;understand&lt;/em&gt; and &lt;em&gt;analyze&lt;/em&gt; tweets and how you can implement it using the API. &lt;/p&gt;

&lt;h2&gt;
  
  
  Fiddler Everywhere makes debugging fun
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbhvgg8vsrf67xbpmzoo6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbhvgg8vsrf67xbpmzoo6.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are wondering what else you could do with Fiddler Everywhere, the tool comes in handy to inspect, debug, mock, and share network requests and responses. You can &lt;a href="https://bit.ly/3j58H90" rel="noopener noreferrer"&gt;download&lt;/a&gt; and try it out yourself. Fiddler Everywhere is available on macOS, Linux, and Windows systems and supports all modern browsers and processes. &lt;/p&gt;

</description>
      <category>api</category>
      <category>fiddler</category>
      <category>webdev</category>
      <category>testing</category>
    </item>
    <item>
      <title>How Fiddler Everywhere makes web debugging simpler</title>
      <dc:creator>Jonathan Pereira</dc:creator>
      <pubDate>Tue, 18 Aug 2020 10:16:31 +0000</pubDate>
      <link>https://dev.to/progress/how-fiddler-everywhere-makes-web-debugging-simpler-4j9m</link>
      <guid>https://dev.to/progress/how-fiddler-everywhere-makes-web-debugging-simpler-4j9m</guid>
      <description>&lt;p&gt;As developers – whether new or experienced, we are always afraid of bugs. These could appear in the form of unexpected results or errors in our websites and apps. Problems like these are where tools like Fiddler Everywhere have been saving time and effort. In this post, we’re going to explore some situations where Fiddler Everywhere makes debugging simpler for developers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8m1338d0pf7y9gmmrkxd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8m1338d0pf7y9gmmrkxd.png" alt="Download Fiddler Everywhere Now" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fiddler Everywhere is the next generation cross-platform network debugging proxy tool, which just &lt;a href="https://bit.ly/3aiQ1Qe"&gt;came out of beta&lt;/a&gt; recently. The tool is trusted by developers for over a decade and is used to inspect and debug HTTP(S) traffic requests between your computer and the internet. If you haven’t tried it yet, &lt;a href="https://bit.ly/3gWlE4v"&gt;download it now&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Identify errors
&lt;/h2&gt;

&lt;p&gt;Fiddler Everywhere inspects every request made to the server as well as the response received. As the requests come in, they are logged by Fiddler Everywhere. The request log provides you a perspective of the activity going on in the background when the browser calls your website.  &lt;/p&gt;

&lt;p&gt;If at any point, you receive an unexpected response or an error, Fiddler Everywhere can promptly point out the cause. The issue could be something as simple as a wrongly entered file name in the code. While it could be a daunting task to pinpoint the file causing the error, Fiddler Everywhere would throw a 4XX error, which then can be &lt;a href="https://bit.ly/2CrOgDQ"&gt;easily debugged&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fuvh3jzjt7phhquviqbn8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fuvh3jzjt7phhquviqbn8.png" alt="Alt Text" width="800" height="269"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, a 404 error would indicate that the file name does not match the available files on the server, or the file doesn’t exist. Once identified, it is much simpler to rectify the error.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mock user conditions
&lt;/h2&gt;

&lt;p&gt;Fiddler Everywhere allows you to simulate situations faced by your user. For example, your user might be working on a slower internet connection or entirely offline. Fiddler Everywhere enables you to create rules that add a delay while loading the website to replicate the network latency. The same can applies to check drop requests.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fewxod6722kuvm8q49jci.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fewxod6722kuvm8q49jci.png" alt="Alt Text" width="800" height="165"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fiddler Everywhere also tracks the response size and time taken to be transmitted. This data can be of use to highlight files that are heavy and take longer to load.&lt;/p&gt;

&lt;p&gt;Additionally, using the Fiddler Everywhere Auto Responder you can create mocking rules for your API. This ability is especially useful when you want to test your app without the live APIs or are behind a firewall.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test APIs
&lt;/h2&gt;

&lt;p&gt;The Fiddler Everywhere Composer can be used to quickly test API requests and make sure that the server responds as expected. For example, if the API fails to return a response or doesn’t provide the expected response, you can open the request in the composer, modify the headers, and execute it to test the request. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Foh21st72shjnu2or8a2n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Foh21st72shjnu2or8a2n.png" alt="Alt Text" width="786" height="302"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If everything is working fine, you should get a 2XX status, else a 4XX error if there is an issue with the HTTP request or a 5XX error if there is an issue with the server. You can identify several common problems like unauthenticated requests, invalid requests, internal server errors, and service overload.&lt;/p&gt;

&lt;p&gt;Alternatively, you can use the Fiddler Everywhere Composer to test new APIs or the API user interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  Saving sessions
&lt;/h2&gt;

&lt;p&gt;Fiddler Everywhere takes the pain out of repeatedly working with web requests. Fiddler Everywhere has intuitive features that help you streamline the debugging process. The filters across every category allow us to inspect limited traffic from a particular domain, a selected browser, or even a specific file type and status code. You can add multiple filters as required.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkrch25ti2mtmywem67uy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkrch25ti2mtmywem67uy.png" alt="Alt Text" width="202" height="255"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Additionally, you can select individual sessions or multiple sessions. You can then save them and open them in a separate tab. Fiddler Everywhere also allows you to put notes and comments on your saved sessions. This feature is useful when you want to share the requests with your teammates, who can then continue from where you left.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try out Fiddler Everywhere
&lt;/h2&gt;

&lt;p&gt;These are some of the ways that Fiddler Everywhere is known to simplify the web debugging process. Let us know the ones that you use in the comments below.&lt;/p&gt;

&lt;p&gt;If you are new to Fiddler Everywhere, check out the video below to help you get started quickly. &lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/y22Zp3NR3DE"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Happy debugging! &lt;/p&gt;

</description>
      <category>fiddler</category>
      <category>testing</category>
      <category>debugging</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Getting Started with Fiddler Everywhere</title>
      <dc:creator>Jonathan Pereira</dc:creator>
      <pubDate>Thu, 13 Aug 2020 16:02:32 +0000</pubDate>
      <link>https://dev.to/progress/getting-started-with-fiddler-everywhere-nj1</link>
      <guid>https://dev.to/progress/getting-started-with-fiddler-everywhere-nj1</guid>
      <description>&lt;h2&gt;
  
  
  What is Fiddler Everywhere?
&lt;/h2&gt;

&lt;p&gt;Fiddler Everywhere is a valuable tool for web debugging and monitoring. It logs all the HTTP(S) traffic between the client and the internet. The tool is handy to inspect, debug, mock, and share network requests and responses.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fop887f3vwtbeyjptkuma.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fop887f3vwtbeyjptkuma.png" alt="Alt Text" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Along with the primary use of acting as a web debugging proxy, Fiddler Everywhere has capabilities that make it an excellent tool for API development, performance testing, security testing, and even malware analysis.&lt;/p&gt;

&lt;p&gt;Fiddler Everywhere just &lt;a href="https://bit.ly/3aiQ1Qe"&gt;got out of beta&lt;/a&gt; and is available on Windows, macOS, and Linux and supports every browser. Additionally, it can also be made to behave as a reverse proxy, thereby allowing you to inspect traffic between mobile devices and the internet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Fiddler Everywhere
&lt;/h2&gt;

&lt;h4&gt;
  
  
  Head over to the &lt;a href="https://bit.ly/3gWlE4v"&gt;Fiddler Everywhere site&lt;/a&gt; to download it.
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwk23nx25crojw5gqyddt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwk23nx25crojw5gqyddt.png" alt="Alt Text" width="800" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fiddler Everywhere is available for Windows, macOS, and Linux. Choose the required platform and download and install the setup file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdmuv83dp9hfpdftajzol.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdmuv83dp9hfpdftajzol.png" alt="Alt Text" width="800" height="606"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you open Fiddler Everywhere, you need to create an account. Enter the required details and click on &lt;code&gt;Create New Account&lt;/code&gt;. Alternatively, you can sign-in using your Google account.&lt;/p&gt;

&lt;p&gt;The first thing you want to do, once you install Fiddler Everywhere is to check and enable the HTTPS traffic capture. Doing this allows you to inspect and debug web traffic, which is transmitted using the HTTPS protocol, which is quickly becoming the default standard for web development.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ftf0g8qi9u91iwjrym8bl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ftf0g8qi9u91iwjrym8bl.png" alt="Alt Text" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To do this, click on the gear icon on the top right corner. The Setting pop-up will show. In the HTTP(S) menu, click on the &lt;code&gt;Trust root certificate&lt;/code&gt; button. Your system will request your system login credentials. After you enter and authenticate yourself, Fiddler Everywhere will automatically complete the process. Make sure to click on the checkbox next to &lt;code&gt;Capture HTTPS traffic&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;If you face issues with the root certificate, you can try importing and trusting it manually.&lt;/p&gt;

&lt;h2&gt;
  
  
  Navigating Fiddler Everywhere
&lt;/h2&gt;

&lt;p&gt;You are now inside Fiddler Everywhere. You can see the default view divided into two major sections – the column on the left displays the web sessions and the column on the right have the Traffic Inspector. The sidebar displays the saved sessions and requests.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fqbfdluvvxaucjltktaa8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fqbfdluvvxaucjltktaa8.png" alt="Alt Text" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before you start recording the traffic, you need to make sure that you turn on the toggle in the &lt;code&gt;Live Traffic&lt;/code&gt; tab. The tab will display &lt;code&gt;(Capturing)&lt;/code&gt; if it is working fine. You can click the toggle again to pause the recording. The tab will display &lt;code&gt;(Paused)&lt;/code&gt; when it is not capturing.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Live Traffic
&lt;/h3&gt;

&lt;p&gt;Now you can open any browser and enter the URL you want to inspect. As soon as you hit enter in the browser, you will see the web sessions getting displayed in Fiddler Everywhere.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwp8yc7gep7y0znnithfc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwp8yc7gep7y0znnithfc.png" alt="Alt Text" width="800" height="147"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The tool provides many insights regarding each session at a glance. For example, you can see the filetype denoted next to the request number. You can see the status code of the request and the protocol used. The host server and the URL slug of the request are also displayed. You can also see information about the request method, response size, content type, and caching. Interestingly, the process from where the request originated is also displayed – for example, browser, desktop app, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fyq2abg4dlkeaz4dz89vp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fyq2abg4dlkeaz4dz89vp.png" alt="Alt Text" width="800" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To make things simpler, you can click on the ellipsis in the menu bar and set filters for each tab and view only the required sessions. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2kbgd1q9xxehp5du5cul.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2kbgd1q9xxehp5du5cul.png" alt="Alt Text" width="800" height="291"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can right-click any session and save, remove, comment, and mark the session. Additionally, you can also share the session with others by just entering the email address.   &lt;/p&gt;

&lt;h3&gt;
  
  
  Traffic Inspectors
&lt;/h3&gt;

&lt;p&gt;If you want to scrutinize an individual request, you can select the request by clicking on it and see the details in the Inspectors tab on the right. The Inspectors tab displays two panes – the top pane shows the information on the request, and the bottom pane highlights the response. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxea02iphvqqhuxcgx3ci.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxea02iphvqqhuxcgx3ci.png" alt="Alt Text" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the request pane, you can see all the headers which contain the information sent to the servers like the host name, user-agent, encoding status, and even the cookies. You can view the form data and cookie data, or you can check the text, JSON, and XML used in the request, if any.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fp74koljgdg8v2shcsimj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fp74koljgdg8v2shcsimj.png" alt="Alt Text" width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the response pane, you can view the response headers received from the server, including the status code, access controls, and even the content length. The body of the response is available as text, JSON, or XML. If the response is an image, it is available in the image tab. Interestingly, the entire response is available as a live web page in the web tab.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Auto Responder
&lt;/h3&gt;

&lt;p&gt;The Auto Responder feature is one of the most loved features of Fiddler Everywhere. You can find this feature in the tab next to the Inspectors. The feature allows the developer to mock responses, without actually transmitting the request to a live server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fiecjx7f264qniaiami7d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fiecjx7f264qniaiami7d.png" alt="Alt Text" width="800" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can create a new rule with a match condition and an action to be performed. The term can be a host name, or the URL, or even the file type. If you want to target an URL specifically, you can also set the condition to require an exact match.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9r4au79ju3oghpnhsw8k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9r4au79ju3oghpnhsw8k.png" alt="Alt Text" width="800" height="154"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The corresponding action which needs to be executed, in the event of a match, has to be provided. This action could be another URL or a filename or a redirect request. This feature can also help set breakpoints, delay (to imitate network latency), rest the connection, and even close the connection altogether.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Composer
&lt;/h3&gt;

&lt;p&gt;The composer feature — next to the “Web Sessions” tab — allows you to modify and send requests to the server. Additionally, you can create your requests and execute it with Fiddler Everywhere.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Frrjb4lkab0o3mpytgfux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Frrjb4lkab0o3mpytgfux.png" alt="Alt Text" width="800" height="210"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To modify an existing request, you can right-click on the request in the “Web Sessions” tab and select the Composer option. The request will automatically get loaded in the Composer tab. Similarly, you can create a new request in the Composer tab directly.  &lt;/p&gt;

&lt;p&gt;In the Composer tab, you need to select the appropriate HTTP method, enter the request URL, the headers, and the request body. You can click on Execute to send the request to the server or click on Save to save it. Fiddler Everywhere supports all the available HTTP request methods.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Start debugging
&lt;/h2&gt;

&lt;p&gt;Now that you know about Fiddler Everywhere, it is time to put the tool to the test and see how it mystically makes debugging simpler. Head over to the &lt;a href="https://docs.telerik.com/fiddler-everywhere"&gt;Fiddler Everywhere documentation&lt;/a&gt; to get more information about the features. If, at any point, you feel stuck or are faced with an issue, feel free to reach out to the live &lt;a href="https://community.getfiddler.com/support/discussions"&gt;Fiddler Everywhere community&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>fiddler</category>
      <category>testing</category>
      <category>webdev</category>
      <category>debug</category>
    </item>
    <item>
      <title>How to create a sentiment analysis bot using RPA and Cognitive APIs</title>
      <dc:creator>Jonathan Pereira</dc:creator>
      <pubDate>Tue, 04 Feb 2020 18:17:23 +0000</pubDate>
      <link>https://dev.to/jonathan366/how-to-create-a-sentiment-analysis-bot-using-rpa-and-cognitive-apis-2mij</link>
      <guid>https://dev.to/jonathan366/how-to-create-a-sentiment-analysis-bot-using-rpa-and-cognitive-apis-2mij</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;In this tutorial we will create an RPA bot that analyses the sentiment in text. We will use Automation Anywhere A2019 Community Edition and Azure Cognitive services to build this bot. &lt;/p&gt;

&lt;h1&gt;
  
  
  Getting Started with Automation Anywhere A2019 Community Edition
&lt;/h1&gt;

&lt;p&gt;Automation Anywhere offers developers a free version of the cloud native A2019 platform. Click the &lt;a href="http://bit.ly/2GVPw0q"&gt;Sign up&lt;/a&gt; link to create your account.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RpHY_XZN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5f8k1t1ggj89m1yr72pj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RpHY_XZN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5f8k1t1ggj89m1yr72pj.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fill in all the fields and hit the &lt;strong&gt;Get Free Community Edition&lt;/strong&gt; button at the bottom of the form.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3r7gO6ME--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/k7u7x5aq5w9ky598tq8j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3r7gO6ME--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/k7u7x5aq5w9ky598tq8j.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will receive an email with the Control Room URL and your login details. &lt;/p&gt;

&lt;p&gt;Enter the URL in your browser and enter the login details provided. You will now see the A2019 Control Room. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tJxtRtJE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/edz71e2opm4tfbq0hi6a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tJxtRtJE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/edz71e2opm4tfbq0hi6a.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Creating your bot
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3ZAt0oit--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0vry2fwvyv8my2oq15e5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3ZAt0oit--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0vry2fwvyv8my2oq15e5.png" alt="Alt Text"&gt;&lt;/a&gt; &lt;br&gt;
To create your bot, click the &lt;strong&gt;Create a bot&lt;/strong&gt; button on the Home page in the Control Room. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eg3uvpMW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jvkb89g9eogz5s5rzy25.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eg3uvpMW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jvkb89g9eogz5s5rzy25.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Enter the &lt;em&gt;Name&lt;/em&gt; and &lt;em&gt;Description&lt;/em&gt; for the bot you plan to create. Click on &lt;strong&gt;Create &amp;amp; edit&lt;/strong&gt; to go to the bot creation interface. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--thUfR9c0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ff6494xi8g5wh4p4ozd9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--thUfR9c0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ff6494xi8g5wh4p4ozd9.png" alt="Alt Text"&gt;&lt;/a&gt; &lt;br&gt;
Here you will see the bot flow. You can view this in the visual &lt;em&gt;Flow&lt;/em&gt; mode, the &lt;em&gt;List&lt;/em&gt; mode and, the &lt;em&gt;Dual&lt;/em&gt; mode which has the flow and list of the actions.&lt;/p&gt;

&lt;p&gt;To the left pane you will notice all the actions (packages) available by default. You can either double click or drag and drop the actions as and when required. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--96GrkKCp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/x4w12jj2o7bkiebu4ove.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--96GrkKCp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/x4w12jj2o7bkiebu4ove.png" alt="Alt Text"&gt;&lt;/a&gt; &lt;br&gt;
To start with let us enable our bot to POST requests using the API. For this we use the REST Web Services actions. You can either scroll down in the action pane or search for them. We will use the POST method. Double click on the action to add it to the flow. &lt;/p&gt;

&lt;p&gt;Now we need to connect to the Azure APIs. Head over to the &lt;a href="https://azure.microsoft.com/en-in/"&gt;Azure Portal&lt;/a&gt; to get the API endpoint and the key. We will use the &lt;a href="https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview"&gt;Text Analytics API&lt;/a&gt; for this tutorial. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--whye0VNr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jvtmvym0nisy0yd9xijk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--whye0VNr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jvtmvym0nisy0yd9xijk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fill in the required fields and hit the “Create” button. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--akIm7qoL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pg3r0wnram6hiqv2gozu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--akIm7qoL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pg3r0wnram6hiqv2gozu.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
The API endpoint and the Key would be provided here. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
In A2019, enter the API endpoint in the “URI” field. &lt;/p&gt;

&lt;p&gt;Add the following custom headers:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Ocp-Apim-Subscription-Key&lt;/code&gt;:&lt;em&gt;your_API_key&lt;/em&gt;&lt;br&gt;
&lt;code&gt;Content-Type&lt;/code&gt;:application/json&lt;/p&gt;

&lt;p&gt;In the content type, we need to add custom parameters with the message that we want to parse. &lt;br&gt;
&lt;code&gt;{ "documents": [ { "language": "en", "id": "1", "text": "Your company is amazing. Wonderful service. " } ] }&lt;/code&gt;&lt;br&gt;
We can change the text to see the different results. Alternatively, you can import the various text phrases into the bot using a CSV or an excel. &lt;br&gt;
Click &lt;em&gt;Apply&lt;/em&gt; to update the action. &lt;/p&gt;

&lt;p&gt;Now we need to assign a variable for the response. For this, click the wand icon next to the field. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter the name of the variable and click on &lt;em&gt;Create &amp;amp; select&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Now we define the Response variable using the Dictionary package to allow it to return the value associated.&lt;br&gt;
Click &lt;em&gt;Apply&lt;/em&gt; to update the action. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Next, we write a Python script to rate the emotion. Alternatively, you can also import the python file within the action. &lt;/p&gt;

&lt;p&gt;Python script:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;json&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;read_from_json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;pyObj&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;loads&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;''&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;arr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pyObj&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'documents'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;v&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;score&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'score'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;score&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;score&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mf"&gt;0.25&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;"Sad/Angry/Frustrating"&lt;/span&gt;
            &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;score&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mf"&gt;0.25&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;score&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;"Below Average"&lt;/span&gt;
            &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;score&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;score&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mf"&gt;0.75&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;"Average"&lt;/span&gt;
            &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;"Happy"&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Click &lt;em&gt;Apply&lt;/em&gt; to update the action. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Now we add an action to execute the python script. The function name is &lt;code&gt;read_from_json&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;Click &lt;em&gt;Apply&lt;/em&gt; to update the action. &lt;/p&gt;

&lt;p&gt;Now we are all done with adding the actions. Now we need to save the bot by clicking on the &lt;em&gt;Save&lt;/em&gt; button. &lt;/p&gt;

&lt;p&gt;It is now time to test our bot. Click the “Run” button. If you do not already have a bot agent installed, it will ask you to do so. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After executing successfully, the bot response is displayed based on the input text. We can change the text to see the difference. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NqIMCKMe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2tjbyhss8m8ncwn6i1t.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That’s it, we just created a bot on A2019 using the Azure Cognitive Services APIs. &lt;/p&gt;

</description>
      <category>rpa</category>
      <category>cognitive</category>
      <category>api</category>
      <category>cloud</category>
    </item>
    <item>
      <title>How to intercept API calls from mobile devices</title>
      <dc:creator>Jonathan Pereira</dc:creator>
      <pubDate>Wed, 10 Jul 2019 09:11:20 +0000</pubDate>
      <link>https://dev.to/jonathan366/how-to-intercept-api-calls-from-mobile-devices-52pd</link>
      <guid>https://dev.to/jonathan366/how-to-intercept-api-calls-from-mobile-devices-52pd</guid>
      <description>&lt;p&gt;Ever wondered how to capture the API calls being made in the background while your mobile app or mobile browser is fetching data from the internet? This quick guide will give you some answers. &lt;/p&gt;

&lt;p&gt;I'll be using a proxy server to inspect the web traffic originating from the mobile device. I'm using the Postman client and my Android smartphone for this purpose. &lt;/p&gt;

&lt;h2&gt;What is a Proxy Server?&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvyh6cz13mf3geuc8sdp8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvyh6cz13mf3geuc8sdp8.png"&gt;&lt;/a&gt;&lt;br&gt;
Simply put, a proxy server is a gateway between the client and the server. In our case, we will use the mobile device as a client, and make the computer act as a proxy between the client and the server. The flow is setup in a way that the internet traffic passes through the proxy server while attempting to reach the web address you requested.&lt;/p&gt;

&lt;h2&gt;What is Postman?&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsp4fpjlw656g8h53of3u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsp4fpjlw656g8h53of3u.png"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.getpostman.com" rel="noopener noreferrer"&gt;Postman&lt;/a&gt; is a API Development Environment catering to every stage of the API Lifecycle. It is used by over 7M developers globally. The Postman Proxy is one of the feature available out-of-the-box on the Postman client. &lt;/p&gt;

&lt;h2&gt;Capturing API calls using Postman&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;To get started, we need the computer and the mobile device to be connected to the same wireless network. I’m going to use a Mac laptop and an Android smartphone.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on the Proxy Settings button in the top menu bar.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzrnpo20opek0a6xfclk9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzrnpo20opek0a6xfclk9.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Proxy Settings modal should show. Make a note of the port mentioned. I’ll use the default post “5555”. Select the target to capture the requests. I’ll use the “History” sidebar panel. Click on Connect. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F675gd2lanm5ntbwutefl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F675gd2lanm5ntbwutefl.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find the IP address of your computer. You should see this in your Network settings. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff5jlrde2cvx0yi7010s6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff5jlrde2cvx0yi7010s6.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configure HTTP Proxy on the mobile device. You can do this by going to Settings -&amp;gt; Wi-Fi and selecting the Modify Network option. Enter the computer’s IP address as your Proxy Host. Set the proxy port to the same as the port in the Postman app, i.e. 5555.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqr6xsypm4fi52ucpk5h0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqr6xsypm4fi52ucpk5h0.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You should have everything working!&lt;/p&gt;

&lt;p&gt;Open a browser on the mobile device or any app and keep an eye on the Postman app. I entered &lt;a href="http://www.mit.edu" rel="noopener noreferrer"&gt;www.mit.edu&lt;/a&gt; in my Chrome for Android browser. As the browser started contacting the server, all of the calls start appearing in the Postman sidebar.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzz7vyu47nxz8667l3cxh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzz7vyu47nxz8667l3cxh.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Where can you use this?&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To help you to understand the communications between the client and server. This could be useful from a security standpoint to highlight malicious requests.&lt;/li&gt;
&lt;li&gt;To makes it easier to debug by pinpointing where the app crashes or throws an error.&lt;/li&gt;
&lt;li&gt;To identify behavior differences among mobile devices (based on hardware and resolutions), which help to isolate bugs seen on certain devices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Postman currently supports only HTTP traffic in the Proxy feature. Support for HTTPS is expected to be added soon. &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>api</category>
      <category>testing</category>
      <category>postman</category>
      <category>mobile</category>
    </item>
  </channel>
</rss>
